過載-類中定義的方法可能有不同的版本
public bool withdraw(double amt,string name)
public bool withdraw(double amt)
特點(兩必須一可以)
方法名必須相同
引數類標必須不相同
返回值型別可以不相同
虛函式
宣告虛方法
使用virtual關鍵字pubilc virtual bool withdraw(...);
呼叫虛方法,執行是將確定呼叫物件是什麼類的例項,並呼叫適當的覆寫 的方法
虛方法可以有實現體
覆寫(override)
子類中為滿足自己的需要來重複定義某個方法的不同實--覆寫
通過使用關鍵字override來覆寫
public orerride bool withdraw(...);
只有虛方法和抽象方法才能被覆寫
要求:(三相同)
相同的方法名稱
相同的引數列表
相同的返回值型別
區別items override overload
位置 存在於繼承關係的類中 存在於同一類中
方法名 相同 相同
引數列表 相同 必須不同
返回值 相同 可以不相同
抽象方法(方法的原始定義)
抽象方法是必須被派生類覆寫的方法
抽象方法是可以看成沒有實現體的虛方法
如果類中包含抽象方法,那麼類就必須定義為抽象類,不論是否還包含其他一般方法
public abstract bool withdraw(...);
c 之 多型性
先看乙個例子 然後我們引進多型,看看 公升級的威力 1 include2 using namespace std 34 class liberation 10virtual intcombat 1114 private 15 intcapability 16 17class liberation a...
C 學習之多型性
類的幾個重要特性之一多型性,有著廣泛的用途。類的多型性包括 編譯時多型和執行時多型。編譯時多型表現為乙個同名的方法會根據引數型別 個數和位置的不同有不同執行效果。通過方法過載來實現。顧名思義,它由編譯器根據呼叫引數的不同,選擇相應的函式。執行時多型通過虛方法實現。表現為 相同的引數,仍會執行不同的函...
C 特性之多型性
c 多型性概括為 乙個介面,多種方法 程式在執行時才決定呼叫的函式,它是物件導向程式設計領域的核心概念。c 多型性是通過虛函式來實現的,虛函式允許子類重新定義成員函式,而子類重新定義父類的做法成為覆蓋或者重寫,重寫可以有兩種,直接重寫成員函式和重寫虛函式,只有重寫了虛函式的才能算作體現了c 多型性 ...