- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 面向对象实现 面向对象实现主要包括两项工作: 把面向对象设计结果翻译成用某种程序语言书写的面向对象程序; 测试并调试面向对象的程序。 面向对象程序的质量基本上由面向对象设计的质量决定,所采用的程序语言的特点和程序设计风格也将对程序的可靠性、可重用性及可维护性产生深远影响。 软件测试仍然是保证软件可靠性的主要措施。但是,面向对象程序中特有的封装、继承和多态等机制,也给面向对象测试带来一些新特点,增加了测试和调试的难度。 第12章 面向对象实现 12.1 程序设计语言 12.2 程序设计风格 12.3 测试策略 12.4 设计测试用例 12.1.1 面向对象语言的优点 1. 一致的表示方法 这种表示方法应该从问题域到OOA,从OOA到OOD,最后从OOD到面向对象编程(OOP),始终稳定不变。 一致的表示方法既有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。 2. 可重用性 为了能带来可观的商业利益,必须在更广泛的范围中运用重用机制。 3. 可维护性 可维护性强。 12.1.2 面向对象语言的技术特点 1. 支持类与对象概念的机制 所有面向对象语言都允许用户动态创建对象,并且可以用指针引用动态创建的对象。 2. 实现整体-部分(即聚集)结构的机制 分别使用指针和独立的关联对象实现整体-部分结构。 3. 实现一般-特殊(即泛化)结构的机制 既包括实现继承的机制也包括解决名字冲突的机制。 4. 实现属性和服务的机制 对于实现属性的机制应该着重考虑以下几个方面:支持实例连接的机制;属性的可见性控制;对属性值的约束。 对于服务来说主要应该考虑下列因素:支持消息连接的机制;控制服务可见性的机制;动态联编。 5. 类型检查 如果语言仅要求每个变量或属性隶属于一个对象,则是弱类型的,如Smalltalk; 如果语法规定每个变量或属性必须准确地属于某个特定的类,则这样的语言是强类型的,如C++。 6. 类库 大多数面向对象语言都提供一个实用的类库。存在类库,许多软构件就不必由程序员重头编写了,这为实现软件重用带来很大方便。 7. 效率 使用拥有完整类库的面向对象语言,有时能比使用非面向对象语言得到运行更快的代码。 绝大多数面向对象语言都优化了查找继承树的过程,从而实现了高效率查找。 8. 持久保存对象 任何应用程序都对数据进行处理,如果希望数据能够不依赖于程序执行的生命期而长时间保存下来,则需要提供某种保存数据的方法。 希望长期保存数据主要出于以下两个原因: (1) 为实现在不同程序之间传递数据,需要保存数据; (2) 为恢复被中断了的程序的运行,首先需要保存数据。 通过在类库中增加对象存储管理功能,可以在不改变语言定义或不增加关键字的情况下,就在开发环境中提供这种功能。 9. 参数化类 所谓参数化类,就是使用一个或多个类型去参数化一个类的机制; 有了这种机制,程序员就可以先定义一个参数化的类模板,然后把数据类型作为参数传递进来; 从而把这个类模板应用在不同的应用程序中,或用在同一应用程序的不同部分。 10. 开发环境 软件工具和软件工程环境对软件生产率有很大影响; 至少应该包括下列一些最基本的软件工具: 编辑程序,编译程序或解释程序,浏览工具,调试器等。 12.2 程序设计风格 提高可重用性准则 1. 提高方法的内聚 一个方法(即服务)应该只完成单个功能。如果某个方法涉及两个或多个不相关的功能,则应该把它分解成几个更小的方法。 2. 减小方法的规模 应该减小方法的规模,如果某个方法规模过大,则应该把它分解成几个更小的方法。 3. 保持方法的一致性 一般说来,功能相似的方法应该有一致的名字、参数特征、返回值类型、使用条件及出错条件等。 4. 把策略与实现分开 为提高可重用性,在编程时不要把策略和实现放在同一个方法中,应该把算法的核心部分放在一个单独的具体实现方法中。为此需要从策略方法中提取出具体参数,作为调用实现方法的变元。 5. 全面覆盖 针对输入条件的所有组合写出方法。 对空值、极限值及界外值等异常情况也应该能够作出有意义的响应。 6. 尽量不使用全局信息 应该尽量降低方法与外界的耦合程度,不使用全局信息是降低耦合度的一项主要措施。 7. 利用继承机制 调用子过程。 分解因子。 使用委托。 把代码封装在类中。 7. 利用继承机制 7. 利用继承机制 12.2.2 提高可扩充性 封装实现策略 不要用一个方法遍历多条关联链 避免使用多分支语句 精心确定公有方法 12.2.2 提高可扩充性 12.2.2 提高可扩充性 12.2.3 提高健壮性 预防用户的操作错误 检查参数的合法性 不要预先
您可能关注的文档
最近下载
- 新探索研究生英语(基础级)读写教程课件unit2-2.pptx VIP
- ZZ058 动漫制作赛题 第3套-2024年全国职业院校技能大赛双数年拟设赛项赛题.pdf VIP
- 财务管理(山东财经大学)智慧树知到期末考试答案2024年.docx VIP
- 中国社科院社会学硕士研究生入学考试真题带答案.docx VIP
- 2025年中国铁路北京局招聘(2124人)笔试参考题库附带答案详解.pdf
- 《已知一个数的几分之几是多少,求这个数》课件.pptx VIP
- 建军大业作文课件.pptx VIP
- 医疗护理员课件.pptx VIP
- 环境管理学课件.pptx VIP
- 【原创】 2021八省联考英语读后续写方法探究.docx VIP
文档评论(0)