C 基礎 屬性 建構函式 靜態建構函式 析構函式

2021-08-05 20:39:41 字數 2712 閱讀 8051

一、屬性

屬性是度字段的擴充套件,根據物件導向的基本思想,字段最好設定為private,因為這樣可以防止客戶端直接對欄位進行修改,從而保證內部成員的完整性。通過屬性來訪問字段,避免了呼叫方法。

當屬性僅含有get訪問器或set訪問器為private級別時,這樣是屬性就是制度實行,反之就是只寫屬性。

屬性除了能夠直接訪問字段以外,還可以加入自己的邏輯**。

和靜態字段類似,屬性也可以通過static關鍵字宣告為靜態屬性,不能再靜態屬性中使用非靜態字段。

使用屬性訪問私有字段

結構 訪問許可權修飾符+欄位型別+屬性名{}

屬性是對字段的擴充套件,在屬性中生成欄位的get、set方法

public string name  //一般是字段首字母大寫

//屬性自動生成get方法,get方法中return name

set//自動生成set方法,value是set方法 的隱藏引數

}//get set 預設為公有,不用加public

public int age
//return 後邊一定是自己定義的變數,而不是屬性
set
else
}
}
二、建構函式與方法過載

當自己不寫建構函式時  也可以進行類的物件的宣告 student s=new student(); 這是因為 我們不自己寫建構函式時,系統會自動提供乙個不帶引數的建構函式。如果自己寫了乙個建構函式,系統就不在提供無參的建構函式,

函式的過載

函式名一樣,引數列表不一樣(引數 的個數會引數的累心或引數的順序不一樣)

呼叫被過載的引數是根據實際傳遞的引數去選擇對應的函式

靜態字段   欄位前加static變靜態字段,靜態欄位是屬於整個類的成員,訪問類名時訪問

public static int totalstudents=0;//只會建立一次

public student(string _name,int _age)//在建立物件是會呼叫多次,

//方法前加static變成靜態方法,靜態方法是屬於整個類的方法由類名呼叫

public static void printtotalstudent()

",totalstudents);

}

1、          

建構函式可以進行方法過載

2、          

如果沒定義的話,會預設產生乙個空的建構函式

3、          

建構函式必須和類同名

4、          

不允許返回型別

//靜態成員是屬於整個類的,非靜態成員是屬於某個具體物件的

//非靜態方法中可以訪問靜態成員

public void print()

,",name,age);

console.writeline("totalstudents",totalstudnets);

}//靜態方法中不可以直接訪問非靜態成員

public static void printtotalstudents()

",totalstudnets);

"name:,age",name,age);

}

private const static int n;這是錯誤變定義方法,congst static不能同時使用
private static int n=0;

public static void main()

{int a=5;

int b = 10;

int c=add(a,b);//main方法是乙個靜態方法,要呼叫另乙個成員(包括方法和字段),則另乙個成員只能是靜態方法或者

// 建立乙個物件進行呼叫(classmain m=newclassmain())

console.writeline(c);

靜態建構函式,只會呼叫一次,而且不能手動呼叫、

//1.

第一次建立例項物件時會呼叫靜態建構函式

students=new student("wang",23);

student s1= new student("li si", 23);

console.writeline(s.name); //

第一次訪問靜態成員時會呼叫靜態建構函式

console.writeline(student.totalstudents);

靜態建構函式的特點

1、          靜態建構函式不能使用任何訪問修飾符

2、          靜態建構函式不能帶有任何引數

3、          靜態建構函式只會執行一次

4、          不能直接呼叫靜態建構函式

5、          程式設計師無法直接控制靜態構造函式呼叫時機

三、析構函式

用於釋放物件;當物件宣告週期結束,會自動呼叫析構函式;

特點:不用訪問許可權修飾符,沒有引數,沒有返回值,名字和類名一樣,名字前邊帶~

//物件中的成員,分為託管資源和非託管資源。託管資源會自動釋放,不用手動釋放 //

非託管資源就需要在析構函式中進行釋放

C 靜態建構函式

c 靜態建構函式 靜態建構函式是 c 的乙個新特性,在程式設計過程中用處並不廣,它的主要目的是用於初始化一些靜態的變數。因為這個建構函式是屬於類的,而不屬於任何乙個例項,所以這個建構函式只會被執行一次,而且是在建立此類的第乙個例項或引用任何靜態成員之前,由 net 自動呼叫。在程式中我們可以這樣寫 ...

c 靜態建構函式

c 靜態建構函式,又稱類建構函式。它是屬於類的,不屬於任何乙個類的例項。它具有以下特點 1 以static定義的,無訪問修飾符,無返回型別,無引數的建構函式,如 code class test 2 不能通過 顯式的呼叫靜態建構函式 3 靜態建構函式在類的靜態成員第一次訪問或第乙個類例項建立之前由系統...

C 靜態建構函式

c 靜態建構函式 duduhe譯 簡介 net c 提供靜態建構函式功能,用以初始化靜態資料及執行某項特殊操作,該操作可能僅需執行一次。靜態建構函式用如下格式來宣告 static classname 以下任意情況發生時,靜態建構函式自動呼叫 l類例項的建立。l類的任意乙個靜態成員 屬性或方法 被呼叫...