物件導向 繼承(上)

2021-10-07 08:52:14 字數 2003 閱讀 9314

繼承:可以減少**的重複

乙個新類可以從現有的類繼承特徵(屬性和方法) ;從現有的類產生新類的過程稱為派生。.

現有的用來派生新類的類稱為基類或父類,派生出來的類稱為****。

派生類可以作為基類繼續派生新的類,從而形成類的層次結構,

繼承方式

public:公有繼承

private:私有繼承**(預設)**

protected:保護繼承

通常在派生類類體中列出新增的資料成員

和成員函式(個性),基類的成員將自動成為派生類的成員(共性),不用重複編寫。

class

person

//基類

protected:/

/private 不能被繼承

int age;

string name;

public

:void

show()

};

//派生類

class

student

:public person

student()

};

●繼承基類全部成員**(不包括建構函式與析構函式)**

●調整接收成員(成員的許可權更改或者覆蓋)

增加新成員(對基類的擴充)

繼承一般採用公有繼承。

通過繼承,派生類擁有了基類的資料成員和成員函式;

派生類在基類的基礎上可實施以下改變:

增加新的成員(資料+函式)。

過載(overload)基類的成員函式。

重定義(override,覆蓋)基類已有的成員函式。

改變基類成員在派生類中的訪問屬性。

派生類不能繼承基類的以下內容:

析構函式。

基類的友元函式。

靜態成員(資料+函式)

針對基類定義的一些特殊運算子,如new等。

基類的建構函式c++11之前不能繼承,之後可以繼承; 。

●基類成員的初始化由基類建構函式完成。

●派生類成員的初始化由派生類建構函式完

成。

當基類的建構函式有引數時,派生類的建構函式需要向基類的建構函式傳遞引數

格式:

派生類名(參數列)

:基類名(參數列)

基類最好具有預設建構函式

建構函式形式

派生類名(參數列)

:基類名(參數列)

,物件1

(參數列.

.物件成員n

(參數列)

派生類物件的構造順序:

步驟1:先構造基類;

步驟2:再構造物件成員;

步驟3:最後構造派生類自身;

關於構造和呼叫順序的說明

(1)基類構造順序由派生層次決定:最遠的基類最先構造;

(2)物件成員的構造順序與它們的定義順序符合;

(3)析構函式的析構順序與構造順序相反

Java物件導向 繼承 上

繼承 一種類與類之間的關係 使用已存在的類的定義作為基礎來建立新類 新類的定義可以增加新的資料或新的功能,也可以用父類的功能,但不能選擇性的繼承父類 滿足 a is a b 的關係就可以形成繼承關係 繼承通過extends關鍵字來實現 單一繼承,只能有乙個父類 基類 超類 子類在繼承自父類的時候,自...

物件導向繼承

using system class class1 class virtualclass class hiddenclass virtualclass class overrideclass virtualclass 結果為 父類 繼承類using system class class1 class...

物件導向 繼承

在原有物件的基礎上,略作修改,得到乙個新的物件,不影響原有物件的功能。即子類不影響父類,子類可以繼承父類的一些功能 復用 function createperson name,createperson.prototype.showname function var p1 new createpers...