第4节 面向对象(继承).ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象(继承) 第四章 目标 继承 访问控制 继承中的构造函数和析构函数 函数覆盖 什么是继承,为什么要继承 继承是事物发展的过程,通过继承,使后代继承了父辈的一切优秀的品质,并在该品质上又进一步发展形成了超越父辈的品质和能力 继承的意义 人类的发展离不开继承,如果不使用继承,则知识无法传承、经验无法延续,更不要说站在前人的肩膀上再进一步的愿望。 继承-----获得前人的知识和经验 继承-----在前人的基础上继续发展 继承的概念(一) 继承是现实生活中的经常使用的术语.例如:孩子继承其父母的特征.继承意味着某人或某物从另一个人或实体中派生出一组属性.类似的,在C++中一个类也可以从另一个类继承或派生,从一个旧类派生一个新类的过程称为继承 继承的概念(二) 继承或派生另一个类的类叫派生类,而派生出这个派生类的类叫作基类.派生类的每个实例包括了基类的大多数属性;因此,派生类与其基类相比有更大的属性集.然而,派生类能够修改基类的部分或者全部属性.因此,继承使代码的重用性更加容易实现 继承的概念(三) 一旦定义并测试过一个基类,就不需要修改它了,但是其他程序员可以调整它以满足他们的需要.从现有类派生一个新类允许重新定义其基类的成员函数,还允许向派生类添加新成员,基类不需要重新编译,它在继承的过程中保持不变,重用现有代码可以节省时间和精力,还能保证程序的可靠性 继承的特征 优点(一) 使代码具有可重用性-通过继承类库拥有类库的能力 --用别人的类为基础创建自己需要的类,可以省时省力 可以重定义基类的成员函数,实现新的功能 --对别人的类中的不足重新实现,但是又不改变别人的类. 优点(二) 向派生类添加新成员,实现功能发展和扩展 --基于对别人的类的基础上,实现新的类,当然,新类必须具备上一代类所不具备的能力 不需要了解核心技术的细节,就能拥有别人的能力 --简单的继承别人的类,可以不需要了解其功能的实现细节,就可以直接使用 单一继承 只拥有一个父类的新类的创建过程 从一个现有基类创建新类的过程 单一继承 处理某企业中雇员的程序 基类和派生类 派生类的声明必须指定基类的名称 class Manager : public Employee 任何类都能用作基类 基类分为两种类型 直接基类 间接基类 直接基类和间接基类 直接基类 class A { }; class B : public A //A是B的直接基类 { }; 间接基类 class A { }; class B : public A { }; class C : public B //A是C的间接基类 { }; 继承的类型 单一继承 多级继承 层次继承 多重继承 继承特性--访问控制 派生类的函数 能够访问基类的保护和公有成员 派生类的对象 公有派生的类的对象能够访问基类的公有成员 公有派生的类的对象不能访问基类的私有和保护成员 基类(Employee类) 派生类/子类(Manager类) 基类与派生类的访问控制 可访问性 基类的成员函数或数据何时能够被派生类的对象使用 无论类成员是私有、公有还是保护,它们总是能够由自身的成员函数访问 在类的外部定义的对象只能访问类的公有成员 访问基类成员 在继承中, 如果基类的成员是公有和保护的,那么派生类成员能够访问基类的成员 派生类成员不能访问基类的私有成员 protected访问控制说明符 保护部分类似于私有部分 只能被其所属类的成员访问 不能被类外部的对象或函数访问 区别只有在派生类中才会表现出来 访问控制说明符的规则 访问控制 3-2 访问控制说明符 class 派生类:访问控制说明符 基类 例如: class Manager : public Employee 访问控制说明符有三种类型:public,private,protected,它们说明了派生类对基类属性继承的3种方式 访问控制 派生类不能访问基类的私有成员 公有继承不改变基类成员的访问级别 基类的另外两种访问级别使得所有继承的成员与基类成员(私有基类的私有成员或保护基类的保护成员)属于相同的访问级别, 比如:私有和保护派生的类将本来可以访问的基类成员(公有和保护)/(公有)改变为私有或保护成员 访问控制的访问改变 正如右图上太阳的3种颜色的光被滤镜过滤后,只能在地球上留下滤镜颜色的光。 因此,用public控制的继承不改变基类的成员,而protected和private的控制继承将会改变基类成员变为protected或private的访问方式 公有派生(不改变基类成员) 保护派生(改变基类公有成员为保护) 私有派生(改变基类公有和保护成员为私有) 基类成员的访问规则 作业(一) 设计类Employ

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档