天天看點

繼承(基礎)

       繼承,顧名思義,按照法律或遵照​​遺囑​​接受死者的财産、職務、頭銜、地位等。也可以從生活的角度來了解,有一個孩子,他肯定會遺傳父親或者母親的一些特征,也就相當于繼承了他們的一些特點,再結合自己本身的特點,形成一個完整的個體。

而C++四個特性抽象、封裝、繼承、多态中的繼承是什麼呢?作用又是什麼呢?我們一起來了解一下。

1.繼承的概念與作用

繼承是面向對象程式設計使代碼可以複用的最重要手段,它允許程式員在保持原有類特性的基礎上進行擴充,并增加功能。這樣産生的新類,稱派生類。繼承呈現了面向對象程式設計的層次結構,展現了由簡單到複雜的認識過程。

繼承關系具有雙重作用:

(1)作為類的構造機制,繼承通過擴充、組合現有的類來構造新的類。擴充是指形成現有類的特例—派生類;組合是指抽取出若幹現有類的共性形成新的抽象層次—基類。

(2)作為類型的構造機制。如果類B繼承類A,則所有要求對象A類型的地方也可以接受B類型的對象。

為派生類或子類。

2.派生類的概念

從一個基類派生的繼承稱為單繼承,從多個基類派生的繼承稱為多繼承。

繼承(基礎)

派生類的定義格式:

(1)單繼承

繼承(基礎)

eg:

class A
{
  //類的成員
};

class B :public A
{
  //類B新添加的成員
};      

“派生類名”是新定義的一個類的名字,他是從“基類名”中派生的,并且按指定的“繼承方式”派生。

繼承方式有三種(public,private,protected),我們會在下面詳細介紹。

(2)多繼承

繼承(基礎)

eg:

class A
{
  //類的成員
};


class B
{
  //類的成員
};

class C :public A,private B
{
  //類B新添加的成員
};      

3.繼承方式

        基類的成員可以有public、protected、private三種通路權限,基類的自身成員可以對基類中任何一個其他成員進行通路,但是通過基類的對象就隻能通路該類的共有成員。

       類的繼承方式有public、protected、private三種。不同的繼承方式會導緻原來具有不同通路屬性的基類成員在派生類中的通路屬性也有所不同。

如下表所示:

繼續閱讀