C 什麼是多型,多型的用途

2021-08-15 16:08:49 字數 665 閱讀 4791

qq群:807236138  群稱: ios 技術交流學習群

1

. 定義:「乙個介面,多種方法」,程式在執行時才決定呼叫的函式。

2. 實現:c++多型性主要是通過虛函式實現的,虛函式允許子類重寫override(注意和overload的區別,overload是過載,是允許同名函式的表現,這些函式引數列表/型別不同)。

*多型與非多型的實質區別就是函式位址是早繫結還是晚繫結。

*如果函式的呼叫,在編譯器編譯期間就可以確定函式的呼叫位址,並生產**,是靜態的,就是說位址是早繫結的。

*而如果函式呼叫的位址不能在編譯器期間確定,需要在執行時才確定,這就屬於晚繫結。

3.目的:介面重用。封裝可以使得**模組化,繼承可以擴充套件已存在的**,他們的目的都是為了**重用。而多型的目的則是為了介面重用。

4.用法:宣告基類的指標,利用該指標指向任意乙個子類物件,呼叫相應的虛函式,可以根據指向的子類的不同而實現不同的方法。

C 多型性 什麼是多型

下面舉乙個生活的例子來理解多型。如果要求3種人 孩子,運動員,演奏者都執行乙個動作 play 會發生什麼情況呢?孩子會出去玩耍。運動員會比賽。演員開始演奏。對於同乙個命令,不同的人會有不同的反應,執行不同的動作,這就是生活中乙個多型。在程式設計中,對於同乙個方法,由於執行的物件不同,方法的內容也就不...

C 多型性 什麼是多型

下面舉乙個生活的例子來理解多型。如果要求3種人 孩子,運動員,演奏者都執行乙個動作 play 會發生什麼情況呢?孩子會出去玩耍。運動員會比賽。演員開始演奏。對於同乙個命令,不同的人會有不同的反應,執行不同的動作,這就是生活中乙個多型。在程式設計中,對於同乙個方法,由於執行的物件不同,方法的內容也就不...

什麼是多型?

多型是在不同繼承關係的類物件,去呼叫同一函式,產生了不同的行為。在繼承體系中,構成多型還必須滿足兩個條件 呼叫函式的物件必須是基類的指標或者引用 多型是 不需要知道物件的實際型別,也能夠呼叫正確的功能。而如果直接操作物件,它的型別就已經被編譯器知道了,看似多型,實則不是。被呼叫的函式必須是虛函式,且...