派生與繼承

介紹

類與類之間可以有派生繼承的關係,這兩種關係是相互的,即父類(基類)派生出子類(派生類),子類(派生類)繼承自父類(基類)。

派生方式有三種:public(公共派生)、protected(保護派生)和private(私有派生),不同的派生方式導致不同權限的父類成員派生到子類之後擁有不同的權限。舉個例子:Father類中有個成員public int M,然後Father類通過私有派生(private)的方式派生出一個Son類,那麼Father類中的M對Son來說會是private的。爲什麼會這樣呢?請看下錶規定。

基類成員在各自派生類中的存取權限

派生方式 在基類中的存取權限 在派生類中的存取權限
public public public
public protected protected
public private (inaccessible)
protected public protected
protected protected protected
protected private (inaccessible)
private public private
private protected private
private private (inaccessible)

這個表看似很複雜,其實不然。它們有這樣的規律:

  1. 基類中的private成員,無論採用何種派生方式,對派生類而言,都是無法訪問的
  2. 基類中的其他成員(public和protected),在派生類中的存取權限是【該成員在基類中的存取權限】和【派生方式】兩者中最嚴格的那個(最嚴格-private-protected-public-最寬鬆)。

幾點注意

1.一個類可派生出多個派生類

2.一個類可有一個或多個基類,稱爲單一繼承多重繼承

3.派生類又可以有派生類,稱爲多級繼承

4.繼承關係不可循環

5.基類的友元關係、基類的構造函數和析構函數都不能被派生類所繼承

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章