第4节 继承机制.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 继承机制 1 继承的好处 2 基类和派生类 3 单继承 4 派生类的访问控制 5 基类成员的访问属性 6 派生类继承成员的调整 7 多继承 8 继承机制下的构造函数与析构函数 9 应用实例 1.继承的好处 当原来使用的数据结构不适应新系统的需求,或原来提供的功能需要扩充,或原来的性能不能满足现在的要求时,派生类的成员函数可以调用基类的成员函数,并在此基础上增加必要的程序代码;当需要完全改变原有操作的实现算法时,可以在派生类中实现一个与基类成员函数同名而算法不同的成员函数;当需要增加新功能时,可以在派生类中定义一个新的成员函数。 继承性还使得用户在开发新的应用系统时不必完全从零开始,可以继承原有的相似系统的功能或者从类库中选取适用的类,再派生出新的类以实现所需要的功能。 继承是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,并增加功能。 2. 基类和派生类 1)继承和派生的基本概念 1)继承和派生的基本概念 2)继承的种类 3.单继承 3.单继承 3.单继承 3.单继承 3.单继承 void Circle::display() { coutThe postion of center is ; cout“(”X“,”Y“)”endl;//X,Y为保护成员 coutThe radius of Circle is Rendl; } int main() { Circle c; // 派生类对象 c.setr(4,5,6); coutThe start data of Circle:endl; c.display(); c.movexy(7,8); coutThe new data of Circle:endl; c.display(); return 0; } 4.派生类的访问控制 1) 公有继承 2) 私有继承 3) 保护继承 4) 访问权修饰符 1)公有继承 1)公有继承 在满足一定的限定条件的前提下C++语言可以自动地把一个派生类对象隐式地转换成一个基类对象。可以在程序中用派生类对象给基类对象赋值。 在这种情况下,实际上是用派生类对象从其基类继承来的数据成员的值,给基类对象的相应数据成员赋值 。 通常,基类在逻辑上未必是某个派生类,例如,中国人未必是中国大学生,哺乳动物也并不等于猫。因此,在需要派生类对象的地方使用基类对象来代替,是不合逻辑的,也是不正确的。 1)公有继承 1)公有继承 1)公有继承 在程序设计中应用赋值兼容规则时必须清楚,对象(或指向对象的指针)所能访问的成员,是由声明对象(或指针)时所用的类型决定的,即只能访问继承下来的基类成员。 如果希望把一个基类指针转换成一个派生类指针,必须显式地使用强制类型转换机制。 1)公有继承 注意: a.进行赋值操作时,可使用派生类对象给基类对象赋值。 b.用基类给派生类赋值时,由于基类对象中并不包含派生类中的新增成员,赋值后会造成派生类对象的某些数据成员或方法无意义。 c.使用基类中私有成员的技巧:如果我们在派生类中直接使用基类中的私有数据成员x或y是不行的,但我们可以通过从基类中的继承来的公有函数间接访问。 1)公有继承 公有继承时,基类的公有成员被继承到派生类中任作为派生类的公有成员,派生类的成员函数可以直接访问它们,在类的外部,也可以通过派生类的对象访问它们。基类的保护成员可在派生类的成员函数中直接访问它们,在类外不可直接访问。基类中的私有成员在派生类的内外都无法直接访问,可通过基类提供的公有成员函数间接访问它们。例子见4-1。 2)私有继承 2)私有继承 2)私有继承 3)保护继承 4)访问权修饰符 4)访问权修饰符 三条规律: ⑴ 子类成员函数不能直接访问父类的私有成员。 ⑵ 访问权修饰符只能使继承来的成员的可访问性受到更严格限制,而不能放松这种限制。 ⑶ 在继承机制下信息隐藏的最好方法,是在基类中使用访问权符protected。 在实际中,私有继承和保护继承用的极少,主要在技术理论上有意义。 5.基类成员的访问属性 基类成员被派生类继承之后,它的访问属性与原来在基类中的访问属性可以有所不同。调整基类成员访问属性的基本手段是访问权修饰符,在前面已经系统全面地讲述了访问权修饰符对基类成员访问属性的调整作用,现在进一步讲述调整基类成员访问属性的其他方法,以及基类特殊成员在派生类中的访问属性。 1)同名成员

文档评论(0)

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

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

1亿VIP精品文档

相关文档