C類中定義的方法,為什麼有些必須經過例項化才能呼叫,而有些方法不必例項化就可以呼叫

時間 2021-05-02 22:10:09

1樓:匿名使用者

建議你去看看 static 關鍵字的說明。

靜態方法不必例項化就可以呼叫,否則必須經過例項化才能呼叫。

2樓:笑看紅塵淚飛揚

類分為靜態類與非靜態類,類的例項化就是物件

非靜態下可以分為靜態方法和非靜態方法,靜態類只能是靜態方法 對應具體方法中的成員(類成員)靜態可直接呼叫,非靜態需要例項化物件後使用

3樓:匿名使用者

類有抽象類和非抽象類之分

public class text

{}上面定義了乙個類,它叫做類

text text1=new text();

text text2=new text();

上面定義了兩個物件text1和text2,是類text的具體例項,它們叫物件。即text經過例項化得到text1和text2物件。一定要分清類和物件的關係,比如 人 是乙個類,而你和我就是人的乙個物件。

類還有抽象類

abstract public class people{}上面定義了乙個抽象類,它不可以例項化,只能被繼承希望對你有幫助,你之所以不明白為什麼有的要被例項化,有的不需例項化,就是還沒搞清什麼是物件導向的程式設計呢

4樓:匿名使用者

在類內部是不需要例項化的,外部的話只有靜態方法可以用類名直接呼叫,其它都要例項化才能再呼叫.

c#為什麼不能在乙個類中呼叫另乙個類的變數,而必須是在方法裡例項化後的呼叫

5樓:匿名使用者

你自己把自己都說進去了,你都說在classb中,是在執行b的**,如果要呼叫版x,就要先把classa給例項化,權讓編譯器知道你在用a了,才可以呼叫a中的x;你這不是承認可以這樣呼叫嗎?這個樓主反應的問題不是矛盾嗎?

其實是例項化a後沒有辦法呼叫a的成員,因為類的成員只有方法,字段,屬性,索引等,這樣的呼叫根本無法被呼叫這個類的類所引用.

6樓:我是誰啊

在類b中使用類a中的變數,不寫在方法裡沒有任何意義

c#中同乙個類中的方法互相呼叫需要將類例項化麼

7樓:匿名使用者

同一命名空間,不同類可以互相呼叫,不在同乙個命名空間的,引用命名空間後,也可以呼叫。

不在乎你寫在哪個檔案裡。只要你將它們放在同乙個專案中,保證生成的dll裡面有這些類就可以了,或者你載入了這些類的dll。

類之間的真正關連是生成在dll裡的,.cs檔案只是**的載體,就好象你執行乙個程式,其實根本不需要源**一樣。

在c#中如何定義不能被例項化的類?何時定義乙個不需要例項化的類?

8樓:匿名使用者

抽象類、密封類

使用 abstract 關鍵字可以建立僅用於繼承用途的類和類成員,即定義派生的非抽象類的功能。使用 sealed 關鍵字可以防止繼承以前標記為 virtual 的類或某些類成員。

可以將類宣告為抽象類。方法是在類定義中將關鍵字 abstract 置於關鍵字 class 的前面。

例如:public abstract class a

抽象類不能例項化。抽象類的用途是提供多個派生類可共享的基類的公共定義。例如,類庫可以定義乙個作為其多個函式的引數的抽象類,並要求程式設計師使用該庫通過建立派生類來提供自己的類實現。

抽象類也可以定義抽象方法。方法是將關鍵字 abstract 新增到方法的返回型別的前面。

例如:public abstract class a

抽象方法沒有實現,所以方法定義後面是分號,而不是常規的方法塊。抽象類的派生類必須實現所有抽象方法。當抽象類從基類繼承虛方法時,抽象類可以使用抽象方法重寫該虛方法。

例如:// compile with: /target:library

public class d

}public abstract class e : d

public class f : e

}如果將虛方法宣告為抽象方法,則它對於從抽象類繼承的所有類而言仍然是虛的。繼承抽象方法的類無法訪問該方法的原始實現。在前面的示例中,類 f 上的 dowork 無法呼叫類 d 上的 dowork。

在此情況下,抽象類可以強制派生類為虛方法提供新的方法實現。

密封類和類成員

可以將類宣告為密封類。方法是在類定義中將關鍵字 sealed 置於關鍵字 class 的前面。

例如:public sealed class d

密封類不能用作基類。因此,它也不能是抽象類。密封類主要用於防止派生。由於密封類從不用作基類,所以有些執行時優化可以使對密封類成員的呼叫略快。

在對基類的虛成員進行重寫的派生類上的類成員、方法、字段、屬性或事件可以將該成員宣告為密封成員。在用於以後的派生類時,這將取消成員的虛效果。方法是在類成員宣告中將 sealed 關鍵字置於 override 關鍵字的前面。

例如:public class d : c}

9樓:匿名使用者

抽像類不能被例項化。

乙個般的工具類不需要例項化,此時定義成靜態態。

10樓:匿名使用者

抽象的,密封的類不能被例項化

靜態類不需要例項化

C 中類怎樣定義,使用,C 中如果要用的類定義在使用之後,該怎樣宣告?

類的定義格式一般地分為說明部分和實現部分。說明部分是用來說明該類中的成員,包含資料成員的說明和成員函式的說明。成員函式是用來對資料成員進行操作的,又稱為 方法 實現部分是用來對成員函式的定義。概括說來,說明部分將告訴使用者 幹什麼 而實現部分是告訴使用者 怎麼幹 類的一般定義格式如下 class 類...

c中怎麼定義類,c 中怎麼定義一個類

using system public class desk 基類desk 設定desk的資訊 public void setinfo int len,int wid,int hei 列印desk的引數資訊 public void showinfo t width t height length,w...

C 中類之間的依賴關係,C 中類的定義可以巢狀嗎

關係1 沒有關係 兩個物件之間如果沒有關係,那麼它們是孤立的。關係2 關聯關係 association a和b之間是關聯關係 c與自己關聯 關係3 有方向的關聯關係 directedassociation 關聯還可以有方向性的。如下圖 這種關係是關聯關係的一種。關係4 聚合關係 aggregate ...