《面向对象技术及方法》10、继承及多态性之二.pdfVIP

《面向对象技术及方法》10、继承及多态性之二.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lecture Notes on Object-Oriented Programming Design /~lwj/object-oriented/ Dr. LI Wenjun lnslwj@ /~lwj/ Department of Computer Science SUN YAT-SEN UNIVERSITY, GZ 510275 10-1/63 第十讲 继承与多态性(II ) • 多态性 • 编译时多态性★★ • 运行时多态性 ★★★ • 单点选择原则★★ 10-2/63 10.1 多态性 • 什么是多态性(Polymorphism )? 通俗解释:一个名字具有多种含义。 ⇒ 数据的名字:变量与类型相关联。 ⇒ 操作的名字:方法名字与方法体相关联。 • 为什么程序需要多态性? 表示独立性可提高程序的可扩展性与可复用性。 而可扩展性与可复用性正是我们所追求的重要的程序质量要素。 • 实现多态性有何途径? 数据:隐式类型转换+强制类型转换。 操作:重载+类属+动态绑定。 10-3/63 表示独立性 • 表示独立性(Representation Independence ) 程序的表示形式尽可能地与所表示的内容无关。 ⇒ 使程序可达到更高的可扩展性。 提高抽象层次! 提高抽象层次! • 既是提高程序可复用性的前提, 也是衡量程序可扩充性的标准。 10-4/63 例子 例子 • 在一张Table中search某一个element 线性表Table可用多种方式实现。 ⇒ 数组、指针链表、顺序文件、二叉树、... ⇒ 继承:ArrayTable、LinkedTable、FileTable、... 尽管在不同实现方案下查找动作不同,仍可抽取共性: (如下页所示) 10-5/63 boolean search(Object x) { boolean result = false; start(); while (! isExhausted()) { if (getElement().equals(x)) { result = true; break; } moveForth(); } return result; }

您可能关注的文档

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档