構造函數、析構函數數據庫
構造函數:網絡
語法:ide
//無參的構造函數函數
[訪問修飾符] 函數名() ;函數名必須與類名相同。this
//有參的構造函數spa
[訪問修飾符] 函數名(參數列表);函數名必須與類名相同。code
做用:幫助咱們初始化對象(給對象的每一個屬性依次的賦值)對象
構造函數是一個特殊的方法:blog
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; } } }
//定義無參的構造函數
public Student() { Console.WriteLine("我是構造函數!!!"); }
//定義有參的構造函數
public Student(string name, int age ) { this.Name = name; this.Age = age; }
析構函數:
語法:~(」~」)函數名; 函數名必須與類名相同。
規則:一個類只能有一個析構函數;
析構函數不能重載;
析構函數不能顯示或手動調動,只能由垃圾回收站(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; } } }
//析構函數
//當程序結束的時候 析構函數才執行 //幫助咱們釋放資源 //GC Garbage Collection ~Student() { Console.WriteLine("我是析構函數"); }
總結:
構造函數:用於初始化對象。
析構函數:釋放資源。
本篇就到這裏了,最後打個小廣告:QQ羣: .NET 一步步一幕幕 羣號:590170361 (加羣備註:博客園看到的)