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

第十二章,面向对象实现课件.pptVIP

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十二章、面向对象实现 面向对象实现 面向对象实现主要包括两项工作: 把面向对象设计结果,翻译成用某种程序语言书写的面向对象程序; 测试并调试面向对象的程序。 面向对象实现 面向对象程序的质量基本上由面向对象设计的质量决定,但是,所采用的程序语言的特点和程序设计风格也将对程序的可靠性、可重用性及可维护性产生深远影响。 目前,软件测试仍然是保证软件可靠性的主要措施,对于面向对象的软件来说,情况也是如此。面向对象测试的目标,也是用尽可能低的测试成本发现尽可能多的软件错误。但是,面向对象程序中特有的封装、继承和多态等机制,也给面向对象测试带来一些新特点,增加了测试和调试的难度。必须在实践中努力探索适合于面向对象软件的更有效的测试方法。 主要内容结构 12.1 程序设计语言 12.2 程序设计风格 12.3 测试策略 12.4 设计测试用例 12.5 小结 面向对象的语言 面向对象设计的结果既可以用面向对象语言、也可以用非面向对象语言实现。 使用面向对象语言时,由于语言本身充分支持面向对象概念的实现,因此,编译程序可以自动把面向对象概念映射到目标程序中。使用非面向对象语言编写面向对象程序,则必须由程序员自己把面向对象概念映射到目标程序中。所有非面向对象语言都不支持一般-特殊结构的实现,使用这类语言编程时要么完全回避继承的概念,要么在声明特殊化类时,把对一般化类的引用嵌套在它里面。 面向对象的语言 到底应该选用面向对象语言还是非面向对象语言,关键不在于语言功能强弱。从原理上说,使用任何一种通用语言都可以实现面向对象概念。当然,使用面向对象语言,实现面向对象概念,远比使用非面向对象语言方便,但是,方便性也并不是决定选择何种语言的关键因素。选择编程语言的关键因素,是语言的一致的表达能力、可重用性及可维护性。 面向对象的语言 从面向对象观点看来,能够更完整、更准确地表达问题域语义的面向对象语言的语法是非常重要的,因为这会带来下述几个重要优点: 一致的表示方法 可重用性 可维护性 一致的表示方法 从前面章节的讲述中可以知道,面向对象开发基于不随时间变化的、一致的表示方法。这种表示方法应该从问题域到OOA,从OOA到OOD,最后从OOD到面向对象编程(OOP),始终稳定不变。一致的表示方法既有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。 可重用性 为了能带来可观的商业利益,必须在更广泛的范围中运用重用机制,而不是仅仅在程序设计这个层次上进行重用。因此,在OOA,OOD直到OOP中都显式地表示问题域语义,其意义是十分深远的。随着时间的推移,软件开发组织既可能重用它在某个问题域内的OOA结果,也可能重用相应的OOD和OOP结果。 可维护性 尽管人们反复强调保持文档与源程序一致的必要性,但是,在实际工作中很难做到交付两类不同的文档,并使它们保持彼此完全一致。特别是考虑到进度、预算、能力和人员等限制因素时,做到两类文档完全一致几乎是不可能的。因此,维护人员最终面对的往往只有源程序本身。 举例 以ATM系统为例,说明在程序内部表达问题域语义对维护工作的意义。假设在维护该系统时没有合适的文档资料可供参阅,于是维护人员人工浏览程序或使用软件工具扫描程序,记下或打印出程序显式陈述的问题域语义,维护人员看到“ATM”、“账户”、“现金兑换卡”等,这对维护人员理解所要维护的软件将有很大帮助。 因此,在选择编程语言时,应该考虑的首要因素,是在供选择的语言中哪个语言能最好地表达问题域语义。一般说来,应该尽量选用面向对象语言来实现面向对象分析、设计的结果。 面向对象语言的技术特点 面向对象语言的形成过程 在选择面向对象语言时应该着重考察的一些技术特点: 支持类与对象概念的机制 实现整体-部分结构的机制 实现一般-特殊结构的机制 实现属性和服务的机制 类型检查 类库 效率 持久保存对象 参数化类(模板机制) 开发环境 面向对象语言的形成过程 面向对象语言的形成借鉴了历史上许多程序语言的特点,从中吸取了丰富的营养。当今的面向对象语言,从20世纪50年代诞生的LISP语言中引进了动态联编的概念和交互式开发环境的思想,从20世纪60年代推出的SIMULA语言中引进了类的概念和继承机制,此外,还受到20世纪70年代末期开发的Modula_2语言和Ada语言中数据抽象机制的影响。 20世纪80年代以来,面向对象语言像雨后春笋一样大量涌现,形成了两大类面向对象语言。一类是纯面向对象语言,如Smalltalk和Eiffel等语言。另一类是混合型面向对象语言,也就是在过程语言的基础上增加面向对象机制,如C++等语言。 纯面向对象语言着重支持面向对象方法研究和快速原型的实现,而混合型面向对象语言的目标则是提高运行速度和使传统程序员容易

文档评论(0)

mwk365 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档