繼承和多型

2022-05-07 10:36:29 字數 683 閱讀 7849

繼承

class 子類:繼承方式 父類

子類中包含兩大部分:一類為基類中繼承過來的,一類為自己增加的成員。

從基類繼承過來的表現其共性,而新增的成員體現了其個性。

繼承分為三類:

父類的私有型別子類不可訪問

父類中所有的非靜態成員屬性都會被子類繼承,而私有成員屬性是被編譯器給隱藏了,因而訪問不到,但確實被繼承下去了。

如果通過子類物件訪問父類同名成員,需要加作用域(靜態同名成員也一樣)。

多繼承語法:

class 子類 : 繼承方式 父類1 , 繼承方式 父類2...

多繼承中如果父類出現同名情況,子類使用時加作用域。

菱形繼承會產生的問題:

子類使用資料時會產生二義性

子類繼承了兩份父類的父類的資料,而這個資料只要乙份就夠了。

利用虛繼承解決菱形繼承問題(在繼承之前加上關鍵字virtual變為虛繼承)

多型:多型分為靜態多型和動態多型

靜態多型:函式過載和運算子過載

動態多型:派生類和虛函式實現執行時多型

動態多型為晚繫結,滿足的條件:1、有繼承關係;2、子類重寫父類的虛函式。

動態多型的使用:用父類的指標或者引用執行子類物件

繼承和多型

物件導向程式設計時有乙個非常重要的原則 write once only once 編寫一次,且僅編寫一次 如果沒有繼承這種機制我們可能要重複寫很多 下面來看一下繼承 一 繼承 1 子類如果繼承父類必須使用extends這個關鍵字 2 子類呼叫父類的構造方法使用super關鍵字,也可以通過super來...

繼承和多型

物件導向程式設計時有乙個非常重要的原則 write once only once 編寫一次,且僅編寫一次 如果沒有繼承這種機制我們可能要重複寫很多 下面來看一下繼承 一 繼承 1 子類如果繼承父類必須使用extends這個關鍵字 2 子類呼叫父類的構造方法使用super關鍵字,也可以通過super來...

繼承和多型

類還有乙個重要的特性就是繼承,什麼是繼承?它又有什麼作用呢?繼承最主要的目的就是為了擴充套件原類的功能,加強或改進原類所沒有定義的屬性及方法。例如我們有狗這個類,可是狗的種類還是有很多,比如說博美狗,聖伯納,柴犬等等,如果只用狗一種類來定義所有種類狗的屬性及方法,那麼用這個類所產生出來的物件一定會有...