class A // 基類First { ~A() // 析構函數 { Console.WriteLine("~A()析構函數"); } public A() { // 構造函數 Console.WriteLine("A()構造函數"); } } class B : A // B類從A類派生 { ~B() // 析構函數 { Console.WriteLine("~B()析構函數"); } public B() // 構造函數 { Console.WriteLine("B()構造函數"); } } class C : B // C類從B類派生 { ~C() // 析構函數 { Console.WriteLine("~C()析構函數"); } public C() // 構造函數 { Console.WriteLine("C()構造函數"); } }
析構函數不能被調用、由GC控制,構造函數就是和類名稱相同,並且不帶參數的函數。
public class AA { private string info; public AA(string info) { this.info = info; Console.WriteLine(this.info); } } public class BB : AA { //這個代碼必須有,不然編譯不通過 public BB(string info) : base(info) { } } BB bb = new BB("bbbb");
base關鍵字:由於程序在運行時,會執行父類的構造函數,而此時如果想要將參數傳給父類使用,即可以使用base。