自己整理c++簡明教程-繼承與派生

自己整理c++簡明教程-繼承與派生

ID:11875652

大?。?97.55 KB

頁數(shù):49頁

時間:2018-07-14

自己整理c++簡明教程-繼承與派生_第1頁
自己整理c++簡明教程-繼承與派生_第2頁
自己整理c++簡明教程-繼承與派生_第3頁
自己整理c++簡明教程-繼承與派生_第4頁
自己整理c++簡明教程-繼承與派生_第5頁
資源描述:

《自己整理c++簡明教程-繼承與派生》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、繼承與派生一、繼承與派生的概念、什么是繼承和派生面向?qū)ο蟪绦蛟O(shè)計有4個主要特點:抽象、封裝、繼承和多態(tài)性。要較好地進(jìn)行面向?qū)ο蟪绦蛟O(shè)計,還必須了解面向?qū)ο蟪绦蛟O(shè)計另外兩個重要特征——繼承性和多態(tài)性。本講主要介紹有關(guān)繼承的知識,后續(xù)章節(jié)將介紹多態(tài)性。面向?qū)ο蠹夹g(shù)強(qiáng)調(diào)軟件的可重用性(softwarereusability)。C++語言提供了類的繼承機(jī)制,解決了軟件重用問題。在C++中可重用性是通過繼承(inheritance)這一機(jī)制來實現(xiàn)的。繼承是C++的一個重要組成部分。一個類中包含了若干數(shù)據(jù)成員和成員函數(shù)。在不同的類中,數(shù)據(jù)成員和成員函數(shù)是不相同的。但有時兩個類的內(nèi)容基本相同或

2、有一部分相同。利用原來聲明的類Student作為基礎(chǔ),再加上新的內(nèi)容即可,以減少重復(fù)的工作量。C++提供的繼承機(jī)制就是為了解決這個問題。在C++中,所謂“繼承”就是在一個已存在的類的基礎(chǔ)上建立一個新的類。已存在的類(例如“馬”)稱為“基類(baseclass)”或“父類(fatherclass)”。新建的類(例如“公馬”)稱為“派生類(derivedclass)”或“子類(sonclass)”。一個新類從已有的類那里獲得其已有特性,這種現(xiàn)象稱為類的繼承。通過繼承,一個新建子類從已有的父類那里獲得父類的特性。從另一角度說,從已有的類(父類)產(chǎn)生一個新的子類,稱為類的派生。類的繼承是

3、用已有的類來建立專用類的編程技術(shù)。派生類繼承了基類的所有數(shù)據(jù)成員和成員函數(shù),并可以對成員作必要的增加或調(diào)整。一個基類可以派生出多個派生類,每一個派生類又可以作為基類再派生出新的派生類,因此基類和派生類是相對而言的。以上介紹的是最簡單的情況:一個派生類只從一個基類派生,這稱為單繼承(singleinheritance),這種繼承關(guān)系所形成的層次是一個樹形結(jié)構(gòu)。一個派生類不僅可以從一個基類派生,也可以從多個基類派生。一個派生類有兩個或多個基類的稱為多重繼承(multipleinheritance)。關(guān)于基類和派生類的關(guān)系,可以表述為:派生類是基類的具體化,而基類則是派生類的抽象。二、

4、C++派生類的生命或定義方式假設(shè)已經(jīng)聲明了一個基類Student,在此基礎(chǔ)上通過單繼承建立一個派生類Student1:classStudent1:publicStudent//聲明基類是Student{public:voiddisplay_1()//新增加的成員函數(shù){cout<<″age:″<

5、ss派生類名:[繼承方式]基類名{派生類新增加的成員};繼承方式包括:public(公用的),private(私有的)和protected(受保護(hù)的),此項是可選的,如果不寫此項,則默認(rèn)為private(私有的)。一、C++派生類的構(gòu)成派生類中的成員包括從基類繼承過來的成員和自己增加的成員兩大部分。在基類中包括數(shù)據(jù)成員和成員函數(shù)(或稱數(shù)據(jù)與方法)兩部分,派生類分為兩大部分:一部分是從基類繼承來的成員,另一部分是在聲明派生類時增加的部分。每一部分均分別包括數(shù)據(jù)成員和成員函數(shù)。實際上,并不是把基類的成員和派生類自己增加的成員簡單地加在一起就成為派生類。構(gòu)造一個派生類包括以下3部分工作

6、:1從基類接收成員。派生類把基類全部的成員(不包括構(gòu)造函數(shù)和析構(gòu)函數(shù))接收過來,也就是說是沒有選擇的,不能選擇接收其中一部分成員,而舍棄另一部分成員。要求我們根據(jù)派生類的需要慎重選擇基類,使冗余量最小。事實上,有些類是專門作為基類而設(shè)計的,在設(shè)計時充分考慮到派生類的要求。2調(diào)整從基類接收的成員。接收基類成員是程序人員不能選擇的,但是程序人員可以對這些成員作某些調(diào)整。3在聲明派生類時增加的成員。這部分內(nèi)容是很重要的,它體現(xiàn)了派生類對基類功能的擴(kuò)展。要根據(jù)需要仔細(xì)考慮應(yīng)當(dāng)增加哪些成員,精心設(shè)計。此外,在聲明派生類時,一般還應(yīng)當(dāng)自己定義派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù),因為構(gòu)造函數(shù)和析構(gòu)函數(shù)

7、是不能從基類繼承的。派生類是基類定義的延續(xù)??梢韵嚷暶饕粋€基類,在此基類中只提供某些最基本的功能,而另外有些功能并未實現(xiàn),然后在聲明派生類時加入某些具體的功能,形成適用于某一特定應(yīng)用的派生類。通過對基類聲明的延續(xù),將一個抽象的基類轉(zhuǎn)化成具體的派生類。因此,派生類是抽象基類的具體實現(xiàn)。二、C++派生類成員的訪問屬性既然派生類中包含基類成員和派生類自己增加的成員,就產(chǎn)生了這兩部分成員的關(guān)系和訪問屬性的問題。在建立派生類的時候,并不是簡單地把基類的私有成員直接作為派生類的私有成員,把基

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。