繼承與多型

2021-05-22 04:36:39 字數 560 閱讀 3287

繼承:繼承是c#語言支援**重用及多型的重要機制。通過繼承,可以繼承可以在現有類的基礎上派生出新類,新類將共享現有類的成員,並且還可以新增新的成員。

c#語言中,**重用主要表現為可以使用現成的類(如.net框架類庫中的類)來定義新類,主要方法有組合和繼承兩種;

繼承是物件導向程式設計支援**重用的另乙個重要機制。

下面乙個很簡單來說明繼承的特點

從上至下,飛機可以分為民用機和軍用機,軍用機有可以分為殲擊機和轟炸機。所以民用機和軍用機具有飛機的所有的特點,也及繼承了飛機的全部特點;殲擊機和轟炸機擁有軍用機的全部特點,也及繼承了飛機的全部特點;

在物件導向語言中,通過繼承,可以讓乙個類擁有另乙個類的全部特點,也即讓乙個類繼承另乙個類的全部成員;也可以把這一繼承看成是從乙個類派生出乙個新類的過程;派生出來的類稱為派生類(也稱子類或次類);

在物件導向過程中存在著單繼承和多繼承之分:

c#語言出於安全,可靠性等方面的考慮僅支援單繼承,多繼承只能通過介面等間接實現;

多型:通過繼承過程中的方法重寫和介面實現就能實現多型。多型不緊能改善程式組織結構及可讀性,還能使程式容易擴充套件。

繼承與多型

虛函式只要在基類裡定義,所以繼承類都不用重新定義為虛函式,自動成為虛函式。虛函式必須有實現,普通成員函式在沒有呼叫時可以沒有實現 定義 class animal 只需要在基類定義函式為虛,子類中不需要新增virtual.smile函式在沒有呼叫時可以不實現。當有函式為虛函式時,析構函式應定義為vir...

繼承與多型

繼承需要符合的關係 is a,父類更通用 子類更具體 子類繼承父類的所有屬性和方法 不包括父類構造方法 super可以呼叫父類的方法和構造方法 子類可以重寫父類的方法 使用多型之後,當需要增加新的子類型別時,無需更改總部類,程式的可擴充套件性及可維護性增強 簡單來說,多型是具有表現多種形態的能力的特...

繼承與多型

include using namespace std 宣告類point class point getx是point 類中的常成員函式,可以引用,但不能修改本類的資料成員 float gety const friend ostream operator ostream const point 過載...