View Code
1 namespace override_class 2 { 3 class Fa_class 4 { 5 public int[] T = new int[10]; 6 //父類構造函數 7 public Fa_class() 8 { 9 for (int i = 0; i < 10; i++) 10 { 11 T[i] = 0; 12 } 13 } 14 15 public Fa_class(int a) 16 { 17 for (int i = 0; i < 10; i++) 18 { 19 T[i] = a; 20 } 21 } 22 public void mtd_1() 23 { 24 Console.WriteLine("mtd_1 of the faclass"); 25 } 26 public int this[int idx] 27 { 28 get 29 { 30 return T[idx]; 31 } 32 set 33 { 34 T[idx] = value; 35 } 36 } 37 public int fa_fld 38 { 39 get 40 { 41 return fa_fld; 42 } 43 set 44 { 45 fa_fld = value; 46 } 47 } 48 } 49 class son_class:Fa_class 50 { 51 public son_class(int a):base(a)//子類構造函數調用父類構造函數 52 { 53 Console.WriteLine("son done."); 54 } 55 } 56 }
RT
用和子類繼承父類的方式類似的“:”來調用(繼承)父類的構造函數
如果基類中定義了帶參數的一個或者多個構造函數,則派生類中也必須定義至少一個構造函數,且派生類中的構造函數都必須通過base()函數“調用”基類中的某一個構造函數。
//必須重載基類的構造函數
傳遞給基類構造函數的“實參列表”通常包含在派生類構造函數的“形參列表”中
