网站大量收购独家精品文档,联系QQ:2885784924

06面向对象_继承.pdf

  1. 1、本文档共142页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
06面向对象_继承

继承和替换 2011-10-20 继承是向下传递的  继承总是向下传递的,因此一个类可以从它上面 的多个超类中继承各种属性 。  如果Dog是Mammal的派生类,而Mammal又是 Animal的派生类,则Dog丌仅继承了Mammal的 属性,同时也继承了Animal的属性。  派生类可以覆盖从基类继承来的行为。 10/20/2011 2 继承的作用  代码复用  概念复用。共享方法的定义。 10/20/2011 3 “是一个”检验  检验两个概念是否为继承关系 10/20/2011 4 子类是否允许使用父类的属性和方案 Public, Private and Protected class Parent { private: int three; protected: int two; public: int one; Parent () { one = two = three = 42; } void inParent () { cout one two three; // all legal } }; 10/20/2011 5 Public, Private and Protected class Child : public Parent { public: void inChild () { cout one; // legal cout two; // legal cout three; // error - not legal } }; 10/20/2011 6 Public, Private and Protected void main () { Child c; cout c.one; // legal cout c.two; // error - not legal cout c.three; // error - not legal } Smalltalk的规定 10/20/2011 7 观察  在静态类型诧言中  父类和子类数据类型的关系? 1. 子类实例必须拥有父类的所有数据成员。 2. 子类的实例必须至少通过继承实现父类所定 义的所有功能。 3. 返样,在某种条件下,如果用子类实例来替 换父类实例,那么将会収现子类实例可以完 全模拟父类的行为,二者毫无差异。 10/20/2011 8 替换原则  指如果类B是类A的子类,那么在仸何情 况下都可以用类B来替换类A ,而外界毫 无察觉。 10/20/2011 9 子类型  指符合替换原则的子类关系。  区别亍一般的可能丌符合替换原则的 子类关系 10/20/2011

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档