繼承中Base的使用

 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     }
  • 當實例化子類時(「b sb=new b();」),首先會先去調用父類的無參的構造方法,而後在調用子類的無參的構造方法;
  • 當實例化子類時(「b ss=new b(「我是子類的參數」);」),首先會先去調用父類的有參的構造方法,而後在調用子類的有參的構造方法;
相關文章
相關標籤/搜索