課件-class6繼承派生_第1頁
課件-class6繼承派生_第2頁
課件-class6繼承派生_第3頁
課件-class6繼承派生_第4頁
課件-class6繼承派生_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余29頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第六章

繼承與多態(tài)劉志偉哈爾濱理工大學(xué)

WhyDerivation(繼承)新的測試用例(Generator)對原有平臺的改進(jìn)(Environment)添加特定功能(共用庫、Transactor)對已有基類進(jìn)行擴(kuò)展,生成新的子類派生從基類做擴(kuò)展并創(chuàng)建新的派生類(子類)的過程,派生類繼承了其基類的數(shù)據(jù)成員、方法,叫做繼承多態(tài)派生類被創(chuàng)建后,基類的某些方法可以通過重寫被重定義,此為重寫當(dāng)對象調(diào)用了被重寫的方法,對象類型決定調(diào)用方法的實現(xiàn)方式,這是個動態(tài)的過程,則為多態(tài)繼承與子類派生類(子類)的功能:繼承了父類所有的屬性修改類中原有的方法添加新的方法添加新的數(shù)據(jù)成員繼承與子類繼承的原則子類繼承父類的所有成員、還可贈、改。必與基類原定義有一致的參數(shù)可通過super引用父類的成員和方法被聲明為local的數(shù)據(jù)成員活方法只能

對自身可見被聲明為protected的數(shù)據(jù)成員或方法只能對自身和子類可見繼承實例SV的單一繼承:每個子類只能有唯一的父類類的重寫實例派生類的內(nèi)存分配聲明時為句柄,構(gòu)造函數(shù)調(diào)用時分配空間除父類繼承外,新添加數(shù)據(jù)成員和方法在獨(dú)立空間中派生類的內(nèi)存分配重寫的函數(shù)在子類和父類中各保持一份復(fù)制子類對象與父類對象的賦值子類可以直接賦值給父類(upcasting)父類不能直接賦值給子類(downcasting)父類賦值給子類時,需用$cast(目標(biāo),源),并判定是否復(fù)制合法通過父類的對象去引用在子類中重寫的屬性或方法結(jié)果只會調(diào)用父類的屬性或方法通過子類對象可以直接訪問重寫的屬性或方法在子類擴(kuò)展過程中新增的屬性和方法對于父類對象不可見子類可以通過super操作符訪問父類中的屬性和方法,以區(qū)分本身重寫的方法DerivedPacket中的new和所有重寫的成員都是不可見的!子類對象引用父類的屬性和方法,可使用super關(guān)鍵字.Supersuper.super.super.new是不合法的!構(gòu)造函數(shù)的調(diào)用new()首先調(diào)用其父類的new()函數(shù)沿著繼承關(guān)系一直回溯調(diào)用父類的初始化如果父類需要初始化:可使用super.new(param)進(jìn)行初始化若在子類的構(gòu)造函數(shù)中使用super.new則必須將其放在第一句虛方法與多態(tài)Answer:Packetpayld父類中的方法被調(diào)用,而不是重寫的那個!重寫的方法可見度子類中重寫的方法對于父類不可見父類方法無法訪問子類重寫和新增的部分虛方法使用virtual關(guān)鍵字聲明派生類中重寫該虛方法,需要一致的類型和返回值虛方法虛方法虛方法虛方法虛方法虛方法實現(xiàn)多態(tài)父類中定義虛方法子類中重寫父類的虛方法聲明父類的對象當(dāng)變量指向父類對象時,調(diào)用的是父類方法;當(dāng)變量指向子類對象時,調(diào)用的是子類方法;指向不同對象時,表現(xiàn)出不同的實現(xiàn)方法,為多態(tài),其本質(zhì)是通過virtual動態(tài)查找。虛類從基類引申而來,但永遠(yuǎn)不會被實例化使用virtualclass將其抽象化,作為一個模板虛類的對象不可被直接構(gòu)造使用可擴(kuò)展為另一個類,但所有函數(shù)需重寫,若有虛方法沒有實現(xiàn)體,則子類也為抽象類純虛函數(shù)purevirtualfunction虛類提供原型而無需具體實現(xiàn)只有虛類才可以定義純虛方法虛類參數(shù)化的類為了加強(qiáng)通用性可以修改數(shù)組的大小可修改變量、數(shù)組的類型聲明:使用:參數(shù)化的類參數(shù)化類的靜態(tài)變量通用類和真實參數(shù)的組合被稱作一個特例vector#(1)v1;vector#(2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論