第1617章1繼承多態(tài)虛函數(shù)ppt課件.ppt

第1617章1繼承多態(tài)虛函數(shù)ppt課件.ppt

ID:58713180

大小:291.50 KB

頁數(shù):63頁

時(shí)間:2020-10-04

第1617章1繼承多態(tài)虛函數(shù)ppt課件.ppt_第1頁
第1617章1繼承多態(tài)虛函數(shù)ppt課件.ppt_第2頁
第1617章1繼承多態(tài)虛函數(shù)ppt課件.ppt_第3頁
第1617章1繼承多態(tài)虛函數(shù)ppt課件.ppt_第4頁
第1617章1繼承多態(tài)虛函數(shù)ppt課件.ppt_第5頁
資源描述:

《第1617章1繼承多態(tài)虛函數(shù)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第16-17章-1繼承、多態(tài)、虛函數(shù)16.1繼承的概念16.2繼承的工作方式16.3派生類的構(gòu)造16.4繼承與組合16.5多態(tài)性16.6多態(tài)的思考方式16.7多態(tài)性如何工作16.8不恰當(dāng)?shù)奶摵瘮?shù)16.9虛函數(shù)的限制16.10類的冗余16.11克服冗余帶來的問題16.12類的分解16.13抽象類16.14由抽象類派生具體類16.15純虛函數(shù)的需要性17.1多繼承如何工作17.2繼承的模糊性17.3虛擬繼承17.4多繼承的構(gòu)造順序17.5繼承的訪問控制17.6保護(hù)繼承與私有繼承1繼承過程是從一個(gè)類派生出一個(gè)新類的過程。派生出來的新類稱為派生類或子類;原

2、有的類稱作基類或父類,子類繼承父類的屬性和操作。派生類同樣可以作為基類繼續(xù)派生新的子類,這樣就形成了類的層次結(jié)構(gòu)。1.繼承與派生的概念繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)中支持代碼重用的重要機(jī)制。通過繼承,程序員可以在原有類的基礎(chǔ)上派生出新類,新類將共享原有類的屬性,并且還可以添加新的特性。繼承(inheritance):一個(gè)新類從已有類那里獲得其已有特性(屬性、行為)派生(derivation):在已有類的基礎(chǔ)上新增自己的特性而產(chǎn)生新類的過程2基類和派生類若一個(gè)類C2從另一個(gè)類C1擴(kuò)展而來,則稱C2為派生類(derivedclass),C1為基類(basecl

3、ass)?;愐卜Q為父類(parentclass),派生類也稱為擴(kuò)展類(extendedclass)或子類(childclass)。一個(gè)派生類繼承了其基類的所有數(shù)據(jù)成員和成員函數(shù)(構(gòu)造函數(shù)和析構(gòu)函數(shù)除外),還可以增加新的數(shù)據(jù)成員和函數(shù),從而使派生類更具特殊化。用指向基類的箭頭表示兩個(gè)類之間的繼承關(guān)系。C1C2C3C1為基類C2、C3為C1的派生類3計(jì)算機(jī)類臺(tái)式機(jī)類筆記本類床沙發(fā)沙發(fā)床a)單繼承b)多繼承圖單繼承與多繼承一個(gè)基類可以派生出多個(gè)派生類,一個(gè)派生類也可以由多個(gè)基類派生而來。從一個(gè)基類派生出一個(gè)派生類的過程稱為單繼承;從多個(gè)基類派生出一個(gè)派

4、生類的過程稱為多繼承(多重繼承)。4交通工具火車汽車飛機(jī)輪船卡車旅行車小汽車工具車轎車面包車交通工具分類層次圖(單繼承)5計(jì)算機(jī)系人員教職工教務(wù)人員學(xué)生教師行政管理人員本科生系主任研究生計(jì)算機(jī)系組成人員的繼承關(guān)系層次圖(多繼承)6繼承的工作方式——舉例(ch16_1.cpp,p350)7通過單繼承派生一個(gè)類的一般形式為class派生類名:派生類型基類名{聲明派生類新成員};聲明一個(gè)派生類,采用不同派生類型,從基類繼承而來的成員的訪問權(quán)限在派生類中也有所不同。用關(guān)鍵字public、private或protected指定,若省略,系統(tǒng)默認(rèn)為私有派生。該

5、基類必須在聲明該派生類之前已經(jīng)聲明,否則會(huì)導(dǎo)致編譯錯(cuò)誤。2.單繼承8派生類的繼承方式為公有時(shí),基類各成員在派生類中的訪問權(quán)限:公有成員:仍為派生類的公有成員保護(hù)成員:仍為派生類的保護(hù)成員私有成員:派生類不能訪問,為基類私有派生類的成員只能訪問基類中的public/protected成員,不能訪問private成員。派生類的對象(在派生類外)只能訪問基類中的public成員。公有繼承基本保持了基類的訪問屬性,因此使用較多。(1)公有繼承(公有派生)基類的公有成員和保護(hù)成員被派生類繼承過來,作為派生類的公有成員和保護(hù)成員;基類的私有成員在派生類中不能直

6、接使用。簡述9intmain(){Bb;b.setx(2);b.sety(3);cout<<″X=″<classA{public:voidsetx(inta){x=a;}voidsety(intb){y=b;}intgetx()const{returnx;}intgety()const{returny;}protected:intx;private:i

7、nty;};classB:publicA//公有繼承{public:intgetsum(){returnx+gety();}};直接訪問從基類繼承來的保護(hù)成員x;基類的私有成員y,只能通過接口函數(shù)訪問。const表示該成員函數(shù)不會(huì)修改數(shù)據(jù)成員的值X=2Y=3X+Y=510類的派生方式為私有繼承時(shí)基類的所有public和protected的成員在派生類中的訪問權(quán)限變?yōu)閜rivate。即基類的公有成員和保護(hù)成員被派生類繼承過來以后,成為了派生類的私有成員?;惖乃接谐蓡T仍為基類私有。派生類的成員只能訪問基類中的public/protected成員,不能

8、訪問private成員派生類的對象不能訪問基類中的任何成員(2)私有繼承基類的公有成員和保護(hù)成員被派生類繼承過來,作為派生

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

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

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