繼承中的關鍵字


父類和子類概述

  1.概念解釋

    ①.子類繼承父類,父類派生子類。

    ②.子類又叫派生類,父類又叫基類(超類)。

    ③.子類繼承父類成員,也可以有自己獨立的成員。

  2.繼承的條件

    繼承需要符合的關系:Is-a 的關系:Dog is an Animal

 

繼承中的關鍵字

  1.this關鍵字

    可以使用this關鍵字訪問父類成員

  2.base關鍵字

    關鍵字base的作用:

      ①.調用父類的構造函數。

      ②.調用父類的屬性和方法。

  3.protected關鍵字

    父類成員:

      ①.public修飾:所有類都可以訪問

      ②.private修飾:子類無法訪問

      ③.protected修飾:允許子類訪問,而不允許其他非子類訪問 

 

子類調用父類構造函數總結   

  1.隱式調用

    如果其他子類的構造函數沒有使用base知名調用父類哪個構造函數時,子類會默認調用父類的無參構造函數:base(),這時父類要提供無參的構造函數。

  2.顯示調用

    如果父類沒有無參數的構造函數,子類構造函數必須指明調用父類的哪個構造函數。

  3.示例 

 1 class Animal
 2     {
 3         public string Name { get; set; }//名字
 4         public string Color { get; set; }//顏色
 5         public string Kind { get; set; }//種類
 6         public string Favorite { get; set; }//喜好
 7 
 8         public Animal() { }
 9         public Animal(string name, string color, string kind)
10         {
11             this.Name = name; 
12             this.Color = color;
13             this.Kind = kind;
14         }
15         //自我介紹
16         public void Introduce()
17         {
18             string info = string.Format("我是漂亮的{0},我的名字叫{1},身穿{2}的衣服,我愛吃{3}!", this.Kind, Name, Color, Favorite);
19             Console.WriteLine(info);
20         }
21     }
View Code
 1  class Dog:Animal//繼承Animal類
 2     {
 3         public Dog(string name, string color, string kind)
 4         {
 5             this.Name = name;//使用this關鍵字訪問父類成員
 6             this.Color = color;
 7             this.Kind = kind;
 8         }
 9 
10         public Dog() { }//隱式調用:默認調用父類的無參構造函數,若此時父類並沒有無參構造函數,則出錯。
11 
12         public Dog(string name, string color, string kind, string favorite) : base(name, color, kind)
13         {//顯示調用
14             this.Favorite = favorite;
15         }
16         public void Race()
17         {
18             base.Introduce();//使用base關鍵字調用父類方法
19             Console.WriteLine("下面給大家表演賽跑,請大家鼓掌!");
20         }
21     }
View Code

 

繼承的特性

  1.繼承的傳遞性

    傳遞機制 A->B;B->C C具有A的特性。

  2.繼承的單根據性

    一個類只能有一個父類(一個類只能有一個基類)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM