下载此文档

继承机制.pptx


文档分类:IT计算机 | 页数:约43页 举报非法文档有奖
1/43
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/43 下载此文档
文档列表 文档介绍
本讲主要内容继承与派生的基本概念类的继承方式单继承多重继承虚基类(重复继承)“isa”关系继承的一个常见用途是表达不同类型对象的“isa”关系。如一个圆“isa”形状,一个矩形“isa”形状,则circle_shape和rectangle_shape类可以从shape类中继承,这种属性称为“isa”关系。在C++中,称circle_shape和rectangle_shape类是从基类shape中派生的。下图可以说明这一概念。2可以说,类的继承和派生的层次结构,是人们对自然界中的事物进行分类、分析和认识的过程在程序设计中的体现。是个性与共性的关系32、继承机制所谓继承(inheritance)就是利用已有的数据类型定义出新的数据类型。利用类的“继承”,就可以将原来的程序代码重复使用,从而减少了程序代码的冗余度,符合软件重用的目标。所以说,继承是面向对象程序设计的一个重要机制。在继承关系中,称被继承的类为基类(baseclass)(或父类),而把通过继承关系定义出来的新类称为派生类(derivedclass)(子类)。由此可见,派生类既可以对基类的性质进行扩展,又可以进行限制,从而得到更加灵活、更加适用的可重用模块,大大缩短程序的开发时间。43、继承的目的假如一个工作要求修改(或增强)原有程序的功能,并且原先程序是以OOP类方式实现的,那么该任务的实现有两种选择:(1)直接修改原有类,但采用这种方式时,修改过程中很可能会发生小错误,这样不仅无法增加原先类的功能,反而使原先程序无法恢复。(2)为原先类定义一个派生类,由于派生类可继承基类的特性,因此,原先程序的功能可以保留,而将要扩充的功能放在派生类内,这样在调试阶段,可以只针对新设计的派生类进行调试,因此,即可保留原先的类继续使用,又可大大缩短扩充原有程序的时间。54派生类的声明和对象定义设若干基类已经适当的构建,则新类追加于这些基类的声明格式分为两种形式:一种是单继承,一种是多继承class派生类名:继承方式基类名1,继承方式基类名2,…,继承方式基类名n{派生类的成员声明;};继承方式由关键字private,public,protected给出声明中的“基类名”是已经存在的类的名称,“派生类名”是在已存在的类的基础上通过添加成员而得到的新类。当派生类只有一个直接基类的继承情况,称为单继承。当派生类同时有多个基类的继承情况,称为多继承。65派生类的生成过程派生类生成过程中需要指定派生类的类名,继承方式和新增成员。派生类的生成过程可分为三个步骤:吸收基类成员﹑改造基类成员和添加新的成员。吸收基类成员:将基类除构造函数和析构函数以外的成员全部接受。改造基类成员:根据继承方式决定基类成员在派生类中的访问控制问题。添加新的成员:派生类新增成员是派生类不同于基类的地方,也是继承和派生机制的关键所在。7二、类的三种继承方式(1)对于一个类的成员有三种访问控制方式,分别为:private、public、protected(2)对于类的继承有三种继承方式:(私有继承)private、(公有继承)public、(保护继承)protected对于派生类成员的访问控制属性由上面两条决定8P243表7-2-2的解释下面是关于编译器继承方式的描述:1).对于任意继承方式,基类的私有成员对于派生类是“不可访问的”。2).对于公共继承方式,基类的公共成员为派生类的公共成员,基类的保护成员为派生类的保护成员。3).对于保护继承方式,基类的公共的和保护的成员变为派生类的保护成员。 4).对于私有继承方式,基类的公共的和保护的成员变为派生类的私有成员。9公有继承10privateprotectedpublicprivateprotectedpublic原基类私有原基类私有公有继承时的属性变化基类原访问属性派生类访问属性

继承机制 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数43
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198613
  • 文件大小800 KB
  • 时间2019-04-13