基類

基類

在面向對象設計中,被定義為包含所有實體共性的class類型,被稱為“基類”。

基本介紹

  • 中文名:基類
  • 學科:面向對象設計
定義,相關關係說明,舉例,

定義

繼承性是面向對象程式設計的一個最重要的概念。繼承性允許在構成軟體系統的層次結構中利用已經存在的類並擴充它們,以支持新的功能。這使得編程者只需要在新類中定義已經存在的類中所沒有的成分來建立新類,從而大大提高了軟體的可重用性和可維護性。
對於客觀世界中既有共性又有差別的兩個類別以上的實體是不可能被抽象成一個class類型來描述的,編程者往往採用繼承的方法。首先定義一個包含所有實體共性的class類型作為“基類”,然後,從該基類中繼承所有信息,再添加新的信息,來構成新的類。
在構建新類的過程中,新建立的類被稱為“子類”或者“派生類”;而被繼承的包含相同特徵的類稱為“父類”或者“基類”。派生類繼承了基類的全部成員,並且可以增加基類所沒有的數據成員和成員函式,以滿足描述新對象的需求。

相關關係說明

1.基類,父類,超類是指被繼承的類,派生類,子類是指繼承於基類的類.
2.在C++中使用:冒號表示繼承,如class A:public B;表示派生類A從基類B繼承而來
3.派生類包含基類的所有成員,而且還包括自已特有的成員,派生類和派生類對象訪問基類中的成員就像訪問自已的成員一樣,可以直接使用,不需加任何操作符,但派生類仍然無法訪問基類中的私有成員.
4.在C++中派生類可以同時從多個基類繼承,Java不充許這種多重繼承,當繼承多個基類時,使用逗號將基類隔開.
5.基類訪問控制符,class A:public B 基類以公有方式被繼承,A:private B 基類以私有方式被繼承,A:protected B 基類以受保護方式被繼承,如果沒有訪問控制符則默認為私有繼承。
6.protected 受保護的訪問許可權;使用protected 保護許可權表明這個成員是私有的,但在派生類中可以訪問基類中的受保護成員。派生類的對象就不能訪問受保護的成員了。
7.如果基類以public 公有方式被繼承,則基類的所有公有成員都會成為派生類的公有成員.受保護的基類成員成為派生類的受保護成員.
8.如果基類以private 私有被繼承,則基類的所有公有成員都會成為派生類的私有成員.基類的受保護成員成為派生類的私有成員.
9.如果基類以protected 受保護方式被繼承,那么基類的所有公有和受保護成員都會變成派生類的受保護成員。
10.不管基類以何種方式被繼承,基類的私有成員,仍然保有其私有性,被派生的子類不能訪問基類的私有成員。

舉例

繼承過程將創建一個新的派生類,它由基類的成員加上派生類添加的任何新成員組成。 在多重繼承中,可以構建一個繼承關係圖,其中相同的基類是多個派生類的一部分。 下圖顯示了此類關係圖。
基類
在該圖中,顯示了CollectibleString和CollectibleSortable的組件的圖形化表示形式。 但是,基類Collectible位於通過CollectibleSortableString路徑和CollectibleString路徑的CollectibleSortable中。 若要消除此冗餘,可以在繼承此類類時將其聲明為虛擬基類。

相關詞條

熱門詞條

聯絡我們