C++教程繼承與派生

C++教程繼承與派生

ID:37918905

大?。?26.50 KB

頁數(shù):29頁

時間:2019-06-02

C++教程繼承與派生_第1頁
C++教程繼承與派生_第2頁
C++教程繼承與派生_第3頁
C++教程繼承與派生_第4頁
C++教程繼承與派生_第5頁
資源描述:

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

1、第8章繼承與派生8-1.教學(xué)目的與要求1.理解繼承的概念;2.掌握繼承的實現(xiàn)方法;3.繼承中常見問題的處理方法。8-2.主要內(nèi)容及重點:類是C++中進行數(shù)據(jù)封裝的邏輯單位。繼承是面向?qū)ο蟪绦蛟O(shè)計的一個重要特征之一,它允許在既有類的基礎(chǔ)上創(chuàng)建新的類,新類可以從一個或多個既有類中繼承操作和數(shù)據(jù),而且可以重新定義或加進新的數(shù)據(jù)和操作,從而形成類的層次或等級。既有類稱為基類或父類,在它基礎(chǔ)上建立的新類稱為派生類、導(dǎo)出類或子類。本章的重點是派生類的定義和使用、創(chuàng)建派生類對象時構(gòu)造函數(shù)的調(diào)用順序、多重繼承中的沖突及其消除方法以及作用域運算符的幾種使用方法等。本章的難點是基類的初始化、多重

2、繼承中的沖突以及虛基類等。8-3.第8章繼承-課件3-4.8-4.第8章繼承-復(fù)習(xí)總結(jié)繼承是面向?qū)ο蟪绦蛟O(shè)計方法的基本特性之一,繼承可以提高軟件的重要性。本章主要介紹了C++中的繼承性的實現(xiàn)方法以及在繼承性常見問題的處理方法。包括基類的初始化、訪問類型的調(diào)整、沖突及其消除方法、成員覆蓋、賦值兼容性以及虛基類等。類的派生包括三種類型:私有派生、保護派生、公有派生。利用構(gòu)造函數(shù)的初始化成員列表,可以在派生類中對基類成員進行初始化。在繼承層次關(guān)系中要避免沖突的產(chǎn)生,通常是采用指定作用域和定義虛基類這兩種方法來解決問題。8-5.第8章繼承-練習(xí)8-5-1.思考題:291).派生類有幾

3、種方式,每種方式中派生類對基類成員的繼承如何?2).在創(chuàng)建派生類對象時,構(gòu)造函數(shù)的執(zhí)行次序是怎樣的?析構(gòu)函數(shù)的執(zhí)行次序是怎樣的?3).派生類對象如何對基類中的成員進行初始化?4).在多重繼承中,在什么情況下會產(chǎn)生沖突?如何消除沖突?5).列舉我們已學(xué)習(xí)的作用域運算符“::”的所有用途。6).屬于不同類的對象在什么情況下可以互相賦值?7).什么叫虛基類?為什么要引進虛基類?8-5-2.練習(xí)題:課后練習(xí)題見練習(xí)單元。第8章繼承與派生類是C++中進行數(shù)據(jù)封裝的邏輯單位。繼承是面向?qū)ο蟪绦蛟O(shè)計的一個重要特征之一,它允許在既有類的基礎(chǔ)上創(chuàng)建新的類,新類可以從一個或多個既有類中繼承操作和

4、數(shù)據(jù),而且可以重新定義或加進新的數(shù)據(jù)和操作,從而形成類的層次或等級。既有類稱為基類或父類,在它基礎(chǔ)上建立的新類稱為派生類、導(dǎo)出類或子類。8.1繼承與派生的基本概念交通工具汽車小汽車卡車游行車工具車轎車面包車298.1.1單繼承和多繼承:單繼承:一個類繼承一個一般類特性的繼承稱為單繼承。多繼承:一個類可以繼承多個一般類的特性,然后再在繼承來的這些一般類的基礎(chǔ)上增加自己的特殊性,這種繼承方式稱為多繼承。如:一個助教博士,他既是一個學(xué)生,又是一個老師,如果從學(xué)生類和老師類兩個一般類繼承特性,則助教博士類可以獲得這兩個類的特性,因而能進一步增強開發(fā)效率。baseClassderive

5、dAderivedB單繼承baseClassAderivedCbaseClassB多繼承單繼承是所有面向?qū)ο蟪绦蛟O(shè)計語言都具有的功能,但并不是所有的語言都支持多繼承,這是由多繼承實現(xiàn)的復(fù)雜性決定的。C++語言支持多繼承。8.1.2基類和派生類:在定義類B時,如果它使用了一個已定義的類A的部分或全部成員,則稱類B繼承了A,或由類A派生出類B。并稱類A為基類或父類,類B為派生類或子類。一個派生類又可以作為另一個類的基類,這樣一個基類可以直接或間接派生出若干個派生類,構(gòu)成樹狀的繼承關(guān)系。但是注意:繼承關(guān)系不可循環(huán)。如:A繼承B,B繼承,C又繼承A,這是非法的。例類Y繼承類X的特性,

6、類Z又繼承類Y的特性,從而間接繼承來類X的特性。因而類X是類Y的直接基類,是類Z的間接基類,類Y是類X的直接派生類,類Z是類X的間接派生類。類X、Y、Z形成了一個類層次。如前圖.8.1.3兩個類之間要具有繼承關(guān)系,它們通常滿足:1)有共同的屬性或操作。2)有細微的差別。8.2派生類說明及其構(gòu)造函數(shù)和析構(gòu)函數(shù)8.2.1派生類的說明從一個基類派生出子類的一般格式為;class<派生類名>:<基類名>{29…//類體,派生類新增的數(shù)據(jù)成員和成員函數(shù)};其中:1)class是類定義的關(guān)鍵字,用于告訴編譯器下面定義的是一個類。2)派生類名是新定義的類名

7、。3)訪問屬性是訪問說明符,可以是private、public、protected之一。此項的默認值為private,派生類名和訪問屬性之間用冒號隔開。派生類的訪問控制由訪問屬性來確定,它按下述方式來繼承基類的訪問屬性。①.公有派生如果訪問屬性是為public,則基類的public成員是派生類的public成員;基類的protected成員是派生類的protected成員;基類的private成員是派生類的private成員;即基類的private成員對派生類仍保持private屬性。顯然,派生類中通過

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

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

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