(1) 靜態成員:
所謂靜態成員,是指這個成員之值為所有同類別之物件所「共享」。靜態成員在所有同類別物件裡的值都一樣,若經更改,則此靜態成員的值在所有同類別物件中也都會更改。靜態成員的宣告式,比之一般成員的宣告式,多了static關鍵字,其語法為:
存取修飾詞 static 靜態成員資料型態 靜態成員名稱 = 值;
其中,存取修飾詞的寫法與類別成員宣告式中的存取修飾詞寫法相同。
靜態成員不僅屬於特定一個物件,而是屬於該類別本身。在類別外存取該類別之靜態成員的方法為(需先確定該靜態成員是public):
類別名稱.靜態成員名稱=值;
※ 範例:
class person
{
public static int number_of_person=0; //這就是靜態成員
public string name;
public int age;
public person(string n_, int a_)
{ name = n_; age = a_; number_of_person++; } //每宣告一次person物件,number_of_person靜態成員就會增加1。
};
person p1 = new person("weiwei", 18);
person p2 = new person("nunu", 20);
textBox1.Text = person.number_of_person.ToString(); //再次提醒,靜態成員的呼叫不是類別物件名稱.靜態成員名稱,而是類別名稱.靜態成員名稱。
執行後顯示:2
(2) 靜態成員函式:
靜態成員函式,只能對靜態成員進行操作、不能對一般成員進行操作。順便一提,一般的非靜態成員函式,對靜態成員、非靜態成員都可以操作。靜態成員函式的宣告式,比之一般成員函式的宣告式,多了static關鍵字,其語法為:
存取修飾詞 static 回傳資料型態 成員函式名稱(參數資料型態一 參數一, 參數資料型態二, 參數二…)
{
//函式內容
}
其中,存取修飾詞的寫法與類別成員宣告式中的存取修飾詞寫法相同。
靜態成員函式不僅屬於特定一個物件,而是屬於該類別本身。在類別外存取該類別之靜態成員函式的方法為(需先確定該靜態成員是public):
類別名稱.靜態成員函式名稱(參數一,參數二,參數三…);
留言列表