(一)多型
1.是什麼
多型就是物件可以表現對各型別的能力。
2.有什麼
①子類和父類的關係
子類和父類方法名相同解決方案:
一:在子類方法修飾符後面加new
二:在父類的方法修飾符後面加上virtual
在子類中重寫父類的方法,加上乙個override.
呼叫父類的方法,但是把父類的方法進行了重寫,更換了裡面的內容
②多型-抽象類
/抽象方法是用abstract修飾
//抽象方法沒有方法體
//抽象方法必須在抽象類中
//抽象類可以有非抽象成員
//抽象類只能最為基類,無法例項化
//父類是抽象類,子類繼承了這個類,必須 把抽象類中所有的抽象方法重寫
③建立多型的幾種方式:父類、抽象類、介面實現多型
④虛方法和抽象方法的對比
用virtual修飾的方法叫做虛方法
虛方法可以在子類中通過override關鍵字來重寫,常見的虛方法:tostring()equals
版本控制:需要保留基類方法是用new關鍵字;需要重寫方法時使用override關鍵字
(二)介面
1.是什麼
①介面就是完全抽象的一種約定,是用來實現的。只有方法、屬性、索引、事件的宣告。
②關鍵字:iinte***ce,名稱通常以i開頭。
2.介面和類的比較
①如果乙個類既繼承了類又實現了介面,那麼這個類必須寫在前面。乙個類只能繼承乙個父類,但可以實現多個介面。
例如:class student:person, icomparable
②介面:一種規範,一種能力(比如:人會跑步),可以多實現(不能叫繼承)(比如:乙個人會走路、會跑步),不包含方法的實現,不能直接例項化/
介面可以多實現,類只能單繼承
③類定義可以在不同的原始檔之間進行拆分
④介面和類都可以包含事件、索引器、方法和屬性。
多型和介面
實現多型 向上轉型 自動型別轉換 pet dog new dog 只能父類允許被訪問的方法和屬性,子類重寫了父類的方法 向下轉型 強制型別轉換 pet dog new dog dog d dog dog 不安全,結合instanceof 介面的特點 1.介面中只能有抽象方法,並且具有預設的訪問修飾符...
c 多型與介面
靜態聯編 static binding 在編譯階段,確定函式的跳轉位址.早期聯編.動態聯編 dynamic binding 在執行階段,根據指向的物件,動態地確定跳轉位址.晚期聯編.include using namespace std class animal 介面 純虛函式 純虛函式主要用來實現...
Java 介面和多型
介面 乙個比抽象類還抽象的類,介面中所有的方法都是抽象方法 介面的成員特點 1.只能有抽象方法 2.只能有常量 沒有乙個方法體,無法對變數進行初始化 3.預設使用public和abstract修飾方法 4.只能使用public和abstract修飾方法 5.預設使用public,static,fin...