繼承就是從先輩處得到屬性和行為特徵。
類的繼承就是新的類從已有類那裡得到已有的特性。
在c++中,繼承就是在乙個已存在的類的基礎上建立乙個新的類。
已存在的類稱為基類(base class),又稱為父類;新建立的類稱
為派生類(derived class),又稱為子類。
從已有的父類產生乙個新的子類,稱為類的派生。派生
類繼承了基類的所有資料成員和成員函式,具有基類的特性,派生
類還可以對成員作必要的增加或調整,定義自己的新特性。
單級派生
乙個派生類可以只從乙個基類派生,稱為單一繼承(single
inheritance),這是最常見的繼承形式,如圖所示,類b和類c都只
從類a派生。
graphlrb
-->ac-
->a
多級派生
乙個派生類有兩個及兩個以上的基類,稱為多重繼承(multiple
inheritance),如圖所示,類c從類a和類b派生。
graphlrc
-->ac-
->b
基類與派生類之間的關係為:基類是對派生類的抽象,派生類是對基類的具體化。
宣告乙個派生類的一般格式為:class 派生類名:[繼承方式] 基類名
基類名: 乙個已經宣告的類的名稱
派生類名: 繼承原有類的特性而生成的新類的名稱
繼承方式: 規定如何訪問從基類繼承的成員。
可以是public(公有繼承)、protected(保護繼承)或private(私有繼承)
如果未給出訪問標號則預設為private(私有繼承)
(1)可以增加新的資料成員;
(2)可以增加新的成員函式;
(3)可以對基類的成員進行重定義;
(4)可以改變基類成員在派生類中的訪問屬性
(1)基類中的私有成員無論哪種繼承方式,積累中的私有成員都不允許派生類繼承,即在派生類中是不可訪問的。
(2)基類中的公有成員公有繼承時,基類中的公有成員在派生類中仍以公有成員的身份出現。
私有繼承時,基類中的公有成員在派生類中都是以私有成員的身份出現的。
保護繼承時,基類中的公有成員在派生類中都是以保護成員的身份出現的。
(3)基類中的保護成員公有繼承時,基類中的保護成員在派生類中仍以保護成員的身份出現。
私有繼承時,基類中的保護成員在派生類中都是以私有成員的身份出現的。
保護繼承時,基類中的保護成員在派生類中仍以保護成員的身份出現。
#include
using
namespace
std;
class base //基類
//基類不帶引數的建構函式
base(int i) : b_number(i) //基類帶引數的建構函式
int get_number()
void print()
};class derived : public base //派生類
; //派生類建構函式
void print()//派生類增加的成員函式
};int main()
下列shape類是乙個表示形狀的基類,該類有乙個計算形狀面積的方法area( )。請以形狀類」shape」為基類派生出圓形類」circle」和矩形類」rectangle」,要求保持求面積的介面不變。從鍵盤輸入圓形的半徑和矩形的長和寬,在主函式中建立乙個圓形類」circle」的物件和乙個矩形類」rectangle」的物件,計算並輸出這個圓形和矩形的面積。圓周率pi=3.14
class shape
};
圓形類名:circle
注意:圓周率pi=3.14
矩形類名:rectangle
裁判測試程式樣例:
#include using namespace std;
class shape
};//你提交的**將嵌入到這裡。
int main()
; double area()
};class rectangle : public shape;
double area()
};
請從下列shape類派生出乙個圓形類circle,這個類圓形的半徑radius作為私有成員,類中應包含初始化半徑的建構函式。圓周率pi取3.1415926。
class shape ;
double getperimeter();
}
圓形類名circle
裁判測試程式樣例:
#include using namespace std;
class shape ;// 求面積
double getperimeter(); // 求周長
};/* 你提交的**將被嵌入到這裡 */
int main() ;
double getarea()
double getperimeter()
};
c 物件導向繼承與派生
概念 在 c 中,當定義乙個新的類 b 時,如果發現類 b 擁有某個已寫好的類 a 的全部特點,此外還有類 a 沒有的特點,那麼就不必從頭重寫類 b,而是可以把類 a 作為乙個 基類 也稱 父類 把類 b 寫為基類 a 的乙個 派生類 也稱 子類 這樣,就可以說從類 a 派生 出了類 b,也可以說類...
python物件導向程式設計 繼承與派生
一.什麼是繼承 繼承是一種新建類的方式,新建的類稱為子類,被繼承的類稱為父類 繼承的特性是 子類會遺傳父類的屬性 強調 繼承是類與類之間的關係 二.為什麼用繼承 因為繼承的好處就是可以減少 的冗餘 三.如何繼承 在python中支援乙個類同時繼承多個父類 在python3中 如果乙個類沒有繼承任何類...
物件導向2 繼承與派生
1 繼承的概念 引入 先定義了乙個類a,然後又想新建立另外乙個類b,但是類b的大部分內容與類a是相同的,我們不可能從新再寫乙個類b,這就用到了類的繼承的概念。通過繼承的方式新建類b,讓b繼承a,b會 遺傳 a的所有屬性 資料屬性和函式屬性 概念 繼承是指類與類之間的關係,是一種建立新類的方式,新建的...