7.1 繼承和派生
考點1 繼承和派生的基本概念
繼承的實質就是建造新的派生類。派生類從一個或多個以前定義的基類繼承數據和函數,同時增加或重新定義數據和操作。這就產生了類的層次性。換句話說,繼承就是創建一個具有別的類屬性和行為的新類的能力。我們把這種通過特殊化已有的類來建立新類的過程,叫做“類的派生”,原有的類叫做“基類”,新建立的類叫做“派生類”從類的成員角度來看,派生類自動地將基類的所有數據成員和除了構造,析構函數之外的全部成員函數作為自己的成員,這叫做“繼承”;惡团缮愑挚梢苑謩e叫做“父類”和“子類”。在C++中有兩種繼承:單繼承和多繼承。對于單繼承,派生類中只能有一個基類;對于多繼承,派生類可以有多個基類。單繼承和多繼承的基類和派生類的關系如圖7-1所示。
圖7-1單繼承與多繼承
考點2 派生類的定義與構成
在C++中,定義派生類的一般形式為:
單繼承的定義如下:
class<派生類名>:<繼承方式><基類名>
{
<派生類新定義的成員>
};
多繼承的定義如下:
class<派生類名>:<繼承方式1><基類名1>,
<繼承方式2><基類名2>,
…
<繼承方式n><基類名n>
{
<派生類新定義的成員>
};
其中,<繼承方式>即派生類的訪問控制方式,用于規定基類成員在派生類中的訪問權限,即基類成員在派生類中是公有的、私有的或保護的。常用的3種繼承方式是公有繼承(public),私有繼承(private)和保護繼承(protected)。缺省的類繼承方式是私有繼承private .
<派生類新定義的成員>是指定義的派生類自己的成員(除了從基類繼承來的所有成員之外,新增加的數據成員和函數成員)。
派生類的成員由兩部分構成:一部分是從基類繼承得到的,一部分是自己定義的新成員,所有這些成員仍然分為公有(public),私有(private)和保護(protected)3種訪問性質。
7.2 派生類對基類成員的訪問
考點3 派生類對基類成員的訪問
派生類繼承了基類的全部數據成員和除了構造、析構函數之外的全部成員函數,但這些成員在派生類中的訪問屬性在派生過程中通過繼承方式是可以調整的。通過公有繼承(public),私有繼承(private)和保護繼承(protected)3種繼承方式將具有公有(public),私有(private)和保護(protected)3種訪問屬性的基類成員在派生類中具有了新的訪問屬性。表7-l描述了派生類的繼承訪問屬性。
表7-1派生類的繼承訪問屬性
文章來源于領測軟件測試網 http://www.kjueaiud.com/