構造函數、析構函數
構造函數:
語法:
//無參的構造函數
[訪問修飾符] 函數名() ;函數名必須與類名相同。
//有參的構造函數
[訪問修飾符] 函數名(參數列表);函數名必須與類名相同。
作用:幫助我們初始化對象(給對象的每個屬性依次的賦值)
構造函數是一個特殊的方法:
1)、構造函數沒有返回值,連void也不能寫。
2)、構造函數的名稱必須跟類名一樣。
3)、構造函數有無參和有參之分。
創建對象的時候會執行構造函數,構造函數是可以有重載的。
***
類當中會有一個默認的無參數的構造函數,當你寫一個新的構造函數之後,不管是有參數的還是無參數的,那個默認的無參數的構造函數都被干掉了。
代碼展示:
//定義一個類:

public class Student
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
private int _age;
public int Age
{
get { return _age; }
set { _age = value; }
}
}
View Code
//定義無參的構造函數

public Student()
{
Console.WriteLine("我是構造函數!!!");
}
View Code
//定義有參的構造函數

public Student(string name, int age )
{
this.Name = name;
this.Age = age;
}
View Code
析構函數:
語法:~(”~”)函數名; 函數名必須與類名相同。
規則:一個類只能有一個析構函數;
析構函數不能重載;
析構函數不能顯示或手動調動,只能由垃圾回收站(GC)自動調用。
注意:析構函數不接受任何參數,也不帶任何訪問修飾符。析構函數的主體包括了一些代碼,通常用於關閉由實例打開的數據庫,文件或網絡連接等。
代碼展示:

public class Student
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
private int _age;
public int Age
{
get { return _age; }
set { _age = value; }
}
}
View Code
//析構函數

//當程序結束的時候 析構函數才執行
//幫助我們釋放資源
//GC Garbage Collection
~Student()
{
Console.WriteLine("我是析構函數");
}
View Code
總結:
構造函數:用於初始化對象。
析構函數:釋放資源。