C电子教案第11章_第1页
C电子教案第11章_第2页
C电子教案第11章_第3页
C电子教案第11章_第4页
C电子教案第11章_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——C电子教案第11章

第4篇

面向对的程象设序第计11章第21章第13第1章4章继承派生多态性与虚函与输入输出数流C+工具+

11章继第承派生与11.111.21.311.41115.1.111.6711.81.91继承与派生概念的派生类声的明式方派类的生成派生类成构员的问属访性生派类的造构函和析构数函多数重承基继类派与生的转类换继承与组合继在软件开发中的承要重意义

面向象程对序计设4个主有要特:点抽象、封、装继承多态和。性要较好进地行面向对程象序计设,必需还了解向面对程象设序另计两个外重特要征——承性和多态继性。在本章中要主介有绍关继承的知识,在12章第中将介绍态多性。面向象技对强调软术件的可用重(性sotfwrareeuabsliity)。++C语言提了类的供继机承制,决解了软件重问用题

1。.11承与派生继概的念C++中在重可用性是通继过承inher(itacne这一机)制来现的实继承是C。+的+一个重要组成分部一。类个包中了含若干据数成和成员函数员在。不同类中的,数成员据成和函数是员不同的。相有但时两个类的内容基相本同或有部分一同相。利用来原明的类S声tudetn为基础作再,加新的上容即可内,减以少重复工的作量。++提C供继承的机就是为了制解这个决题。问第8在章举了已的马例来子明继说承概的念见。图11.示1。意

在C++中,所“谓承继就〞在一个已存在是类的基础上建的立个新的类。已一在存类的(例“如〞马)为“基称(b类aselacss〞或“父)类f(atherlcas)〞s新建立。的(例类如“公〞马)为称“派类(d生ervideclssa)或“子类(〞osncalss)〞见。1图.12示。意1图.11

图1.12

一个

类从新已有的那里获类得其已特有,性种现象称这类为继承的通。继过承一个新,建类子从已有的父类那里获得类父的性特。从一角另说度从已,的类(父有)类生产一个的新类,子为称的类派。生类继的是承用已有的来类立专用建类编程技术。的派生继承了基类的所类有据成员数和员成函数并,可对成员作以必的增要或加调整一个。基类可以派生多个派出类生,一每派个生类可以作为基类再又派生出新派生类的,此基类和因生类是派对相而的言。以上绍的介最是简的状况:单一个派生类从只一个基类生派,这称单为继(承ingleishnritenac)e这种继承关,所系形成层的次是一个树结形构可,用以11图.表示。

3图1.13注请图中意头的方箭,在向本书约定中,头箭示表承的继方向从派,生指类向基。类

一个

生派类仅可不从一以个基派生类也,以从多可基类派生。一个派生类个两有个或多个基类的称为多重继承m(luitpelihneritnac)e,这种继承系所关成形结构的如图114所.示。

1图

1.4

关基于和类派生的关系,可以表类为述:派类是基类生的具化体,基而类是则生类派的象。抽

图1.15

11.2派类的生明方式声设已假经声明一个基类了tSdeut,n此在础上基通过继承建立一单个生派S类tudetn:c1alssStudnte1:pbuilScutdetn//声基明类是tuSedtn{ublpi:cvoiddspily_a(1)//新加增的成员函数{ocut″aeg:″ageneld;cuto″ddressa″:addrednl};rpiatev:ntigae//;新增的数加成据str员nigdard;/新增加的数/成据}员;

类基名面前pu有bic的l称“为用继承公(pubilcinehrtinaec)。〞明声生派的一类般式形为clsa派生s名类[继承方:式]基类名派{类生增新的成员加};继方式包承括:pubilc公用(的,pri)vaet(有的)和私potrceed(t受护的保,此)项是选可,的如不果写项此则,认为默rpiavt(私e有的)。

11.3生派的类成构派类生的成员包中从括基继承类过来成的和员己自增加成的员两部分。大基在类包括中数据员和成成员函数(或数称与据法方)部两分,派类分生两大为分:部一部分是从基继承来类的员,成另一分是部在声明派类生增加的部时分每。一分部分均别括包据成员和数成员函。数

图1.16

实际

上并,不是把类基成的和派员生自类增加的己员简单地加成在一就成起派生类。构为一个派生造包括以类3下分工部作(:1)基类接收成员从派。生类基类全部的成把员(不包括构造函数和构函析数)收过来,接就是说是也没有择的选,能不择选收其中一部接分成员而舍,弃一另部分员成。要我们根据派求类的需生慎重要择选基类使,余冗量最。事小上,实有些类是专作为基类门而计设,的在计设时充分虑到派生类的要考求。2(调)从整基接收的成类员接收。类基成是员序人员程能不择选的但是程,序人员可以对些这成员作某调些整。

(3)在声派生明类增时加的员成这。分内容部很是重的要它表达,派生类对基了功能的类扩展要。根据需仔要细虑应考当增哪加成些员精,心设计此。外,声在派生类明,一时般还当自应己定义派生的构造函数和析构函数,类因构为函数造析构和函数不能是基从类继承的。生派是基类类定的延续。可以先声义明个基一,在类此基类中只提供某最基本的些功,能而外有些另功能并实现,然后未声在派明生时类入加某具些的功能体,形适用于某成特定一用的派生类。应过通对基声类的延明,将一个续抽的象类转基成化具体的派类生因。此派,类生抽是象类基的具实表达

1.41派生成类员的问属访性既派生类中包然基含成类和派员生类己增自的加员,成就生产了两部这成分员的关和系访问属的问性题在建。立派生类时候的,并

不是简单把基类的地私有员直成接作派生类的为有成员私把,基的公类成员直接用作为派生类的公用成。员实际,上对基类员和成派类自生增加的己员成按是不同的则处原的。理

具体说,在论访问属性时讨要,考以下虑几种况情:(1)类的基成员函数访问基类成员。(2派生类)的员函数成问访派类自己生增的成员加(3)基。的类员函成访数问派类的生员成。4()派类的成员生数访问函类的成基员(。)5派生类外访在派问类的生员成。(6)派生类外访在问类基成的员。对第于()和第12()情种况,比简较,单第8按章绍过的介规则处理即,:类的基成员函数以访问可类成员基,生类的成员派函可以数问派访类成员生私。有数据员只成能被一类同的成中函员数问访,用公员可以被成界访问外。

第(3种)情也比较况明确基类,成的员数函只访能问基的成员,而不类访能派问生的成类。第员(5)种况情也比明较,在派生类外确可以问派生访的类公用员成而不,访问派生能类私的有成员。对于第(4和)第(6)种况,情就微稍杂复一,也容些易混淆这。些涉到如何确定基牵类成员在的生派中的访问类属的性问,不题仅要虑考基对成员类声所明访问的性属还,要考派生类所虑声明的基类对继的承式方根据,两个因素共同这决定类成员基派在类生的访中属性问。

前面已提:在派生到类,对基中类继承方的可以式有pulbc(i用的公,p)irvtae(有私的)和portcteed(保的)护种。3不同继的方式决

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论