1 class Program 2 { 3 static void Main(string[] args) 4 { 5 b sb = new b(); 6 sb.ChildSpeak(); 7 b ss = new b("我是子類的參數"); 8 Console.ReadKey(); 9 } 10 } 11 12 class a 13 { 14 public string one { get; set; } 15 16 public a() 17 { 18 Console.WriteLine("我是第一個被調用的!"); 19 } 20 public a(string param) 21 { 22 Console.WriteLine("我是父類的構造方法,我接收子類傳過來的參數爲-----" + param); 23 } 24 25 public void ParentSpeak() 26 { 27 Console.WriteLine("我是父類"); 28 } 29 30 } 31 class b : a//當調用子類時,先會調用父類的無參構造方法 32 { 33 public b()//默認接上" :base()" 34 { 35 Console.WriteLine("我是第二個被調用的!"); 36 } 37 public b(string message) 38 : base(message)//base:表示調用父類含參的構造方法 39 { 40 Console.WriteLine("我是子類的帶參構造方法,我接收的參數爲----" + message); 41 } 42 43 public void ChildSpeak() 44 { 45 var s = base.one;//能夠經過base。出來父類的除私有的屬性和方法 46 47 Console.WriteLine("我是子類!"); 48 } 49 }