- 1、本文档共866页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
繼承與多態繼承(inheritance)機制是面向對象程式設計使代碼可以複用的最重要的手段,它允許程式員在保持原有類特性的基礎上進行擴展,增加功能。這樣產生新的類,稱派生類。派生類不是簡單地繼承基礎類的特性,它可以調整部分成員的特性,也可以增加一些新成員。繼承呈現了面向對象程式設計的層次結構。體現了由簡單到複雜的認識過程。多態性(polymorphism)也是面向對象程式設計的標誌性特徵。多態性是考慮在不同層次的類中,以及在同一類中,同名的成員函數之間的關係問題。函數的重載,運算符的重載,屬於多態性中的編譯時的多態性。本章講解的以虛基類為基礎的多態性是運行時的多態性。體現了類推和比喻的思想方法。8.1繼承與派生的概念層次概念是電腦的重要概念。通過繼承(inheritance)的機制可對類(class)分層,提供類型/子類型的關係。C++通過類派生(classderivation)的機制來支持繼承。被繼承的類型稱為基類(baseclass)或超類(superclass),而新產生的類為派生類(derivedclass)或子類(subclass)。基類和派生類的集合稱作類繼承層次結構(hierarchy)。如果基類和派生類共用相同的公有介面,則派生類被稱作類的子類型(subtype)。派生反映了事物之間的聯繫,事物的共性與個性之間的關係。從工作量上看,工作量少,重複的部分可以從基類繼承來,不需要單獨編程。8.1繼承與派生的概念8.1.1類的派生與繼承8.1.2公有派生與私有派生8.1.1類的派生與繼承由基類派生出派生類的定義的一般形式為class派生類名:訪問限定符基類名1《,訪問限定符基類名2,……,訪問限定符基類名n》{《《private:》 成員表1;》//派生類增加或替代的私有成員《public: 成員表2;》//派生類增加或替代的公有成員《protected: 成員表3;》//派生類增加或替代的保護成員};//分號不可少其中基類1,基類2,……是已聲明的類。在派生類定義的類體中給出的成員稱為派生類成員,它們是新增加的數據和函數成員。這些新增加的成員是派生類對基類的發展,它們給派生類添加了不同於基類的新的屬性和功能。派生類成員包括新添加的,也包括通過遮罩作用,取代基類成員的更新成員。基類1基類2……基類n基類派生類1派生類2派生類1派生類28.1.1類的派生與繼承如果一個派生類可以同時有多個基類,稱為多重繼承(multiple-inheritance),這時的派生類同時得到了多個已有類的特徵。一個派生類只有一個直接基類的情況稱為單一繼承(single-inheritance)。一個基類可以直接派生出多個派生類派生出來的新類同樣可以作為基類再繼續派生出更新的類,依此類推形成一個層次結構。(a)多重繼承(b)單繼承圖8.1多重繼承與單繼承吸收基類的成員編制派生類時可分四步改造基類成員發展新成員重寫構造函數與析構函數8.1.1類的派生與繼承訪問控制,亦稱為繼承方式,是對基類成員進一步的限制。訪問控制也是三種:公有(public)方式,保護(protected)方式和私有(private)方式,亦稱公有繼承、保護繼承和私有繼承。不論是數據成員,還是函數成員,除構造函數與析構函數外全盤接收聲明一個和某基類成員同名的新成員派生類中的新成員就遮罩了基類同名成員稱為同名覆蓋(override)派生類新成員必須與基類成員不同名,它的加入保證派生類在功能上有所發展。8.1.1類的派生與繼承必須規範化地編程,除了演算法必須規範化外,編程的步驟也必須規範化,上面的步驟就是繼承與派生編程的規範化步驟。第二步中,新成員如是成員函數,參數表也必須一樣,否則是重載。第三步中,獨有的新成員才是繼承與派生的核心特徵。第四步是重寫構造函數與析構函數,派生類不繼承這兩種函數。如在順序表中,要求把數組改為動態建立,採用派生類的方法,在第二步用動態數組把靜態數組覆蓋掉;原來的構造函數與析構函數完全不能用了,新的函數要進行動態(堆)記憶體的分配與釋放。不管原來的函數是否可用一律重寫可免出錯。派生方式基類中的訪問限定在派生類中對基類成員的訪問限定在派生類對象外訪問派生類對象的基類成員公有派生publicpublic可直接訪問protectedprotected不可直接訪問private不可直接訪問不可直接訪問私有派生publicprivate不可直接訪問protectedprivate不可直接訪問private不可直接訪問不可直接訪問8.1.2公有派生與私有派生在派生類的定義中,基類前所加的訪問限定符有
您可能关注的文档
最近下载
- 新编机关事业单位工人汽车驾驶员高技师国家题库练习题题附答案.docx VIP
- 智能建造技术课件.pptx VIP
- 无线网络在医院中的应用探究.doc VIP
- 广西地方标准《水生动物增殖放流技术规程》.doc VIP
- 六年级数学下册练习题(2024年整理).doc VIP
- 六年级数学解比例应用题练习题(2024年整理).doc VIP
- 六年级数学解比例应用题练习题(2023年整理).doc VIP
- 煤矿用防爆型自进式管道清洗装置.pdf VIP
- 2025汽车驾驶员高级技师基本理论知识考试题(附含参考答案).pptx
- 黑龙江省齐齐哈尔市克东县克东一中、克山一中等五校联考2025年高三5月仿真考试数学试题含解析.doc VIP
文档评论(0)