- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ld专升本软件第12章 面向对象的设计与实现
12.1 面向对象设计准则 (1)模块化。在面向对象软件开发模式中,对象就是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。 (2)抽象。面向对象方法支持过程抽象及数据抽象,还支持参数化抽象。 (3)信息隐藏。类结构分离了接口与实现,从而支持了信息隐藏。 (4)弱耦合。耦合主要指不同对象之间相互关联的紧密程度。 一般来说,对象之间的耦合可分为两大类。 ①交互耦合。对象之间的耦合通过消息连接来实现。设计类接口时可尽量降低消息连接的复杂程度、减少对象发送的消息数都可以使交互耦合尽可能松散。 ②继承耦合。通过集成关系结合起来的基类和派生类,构成了系统中粒度更大的模块,这种耦合程度越紧密越好。 12.1 面向对象设计准则 (5)强内聚。设计中使用的一个构件内的各个元素,对完成一个定义明确的目的所做出的贡献程度。 在面向对象设计中存在下述3种内聚: ①服务内聚。一个服务仅完成一个功能。 ②类内聚。一个类有一个用途,它的属性和服务是高内聚的,都是完成该类对象的任务所必需的。如果某个类有多个用途,通常应将其分解成多个专用的类。 ③一般—特殊内聚。设计一般—特殊结构,这种结构是对相应领域知识的正确抽取。 (6)可重用。重用有两方面的含义:一是尽量使用已有的类;二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。软件成分的重用类别有:代码重用;分析结果重用;设计结果重用。 12.2 面向对象设计启发规则 (1)设计结构应清晰易懂。 (2)一般—特殊结构的深度应适当。 (3)设计简单的类。 (4)使用简单的协议。 (5)使用简单的服务。 (6)把设计变动减至最小。 12.3 面向对象的实现 12.3.1 面向对象语言 12.3.2 程序设计风格 12.3.3 从设计产品到代码 12.3.1 面向对象语言 (1) 面向对象语言的优点 选择编程语言的关键因素,是语言的一致的表达能力、可重用性及可维护性。从面向对象观点看,能够更完整、更准确地表达问题域语义的面向对象语言的语法是非常重要的,因为这会带来下述几个优点: ① 一致的表示方法。有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。 ② 可重用性。在OOA、OOD和OOP中显式地表示问题域语义,利于其分析设计结果的重用。 ③ 可维护性。使用面向对象的程序设计语言可以更好地表达问题域语义,进行软件维护时可助于维护人员对软件理解。 12.3.1 面向对象语言 (2) 面向对象语言的技术特点 - 支持类与对象概念的机制。 - 实现整体-部分(即聚集或组合)结构的机制。 - 实现一般-特殊(即泛化)结构的机制。 - 实现属性和服务的机制。 - 类型检查。 - 提供实用的类库。 - 语言效率高。 - 持久保存对象。 - 提供参数化类的机制。 - 完善的开发环境。 12.3.1 面向对象语言 (3) 面向对象语言的选择 - 将来能否占主导地位。 - 可重用性好。 - 类库和开发环境。 - 其他因素。如开发工具、开发平台、发行平台,以及对机器性能和内存的需求,集成已有软件的容易程度等。 12.3.2 程序设计风格 良好的程序设计风格对保证程序质量的重要性,它对面向对象实现来说尤其重要,不仅能明显减少维护或扩充的开销,而且有助于在新项目中重用已有的程序代码。 良好的面向对象程序设计风格,既包括传统的程序设计风格准则,也包括为适应面向对象方法所特有的概念而必须遵循的一些新准则。 12.3.2 程序设计风格 1. 提高可重用性 2. 提高可扩充性 ① 提高方法的内聚; ① 把接口与实现分离; ② 减小方法的规模; ② 避免使用多分支语句; ③ 保持方法的一致性; ③ 精心确定公有方法。 ④ 全面覆盖输入条件; ⑤ 利用继承机制。 3. 提高健壮性 ① 预防用户的错误操作; ② 检查参数的合法性; ③不要预先确定限制条件; ④ 先测试后优化 12.3.3 从设计产品到代码 这个过程是由OOA、OOD阶段生成的成果向OOP转换的重要过程。 12.3.3 从设计产品到代码 1. 将类图映射为代码 (1)单个类映射为代码 12.3.3 从设计产品到代码 (2)包映射为路径 包的名称是存放包中所含类的路径。要想使用包中的类,需要将包的父目录的路径添
文档评论(0)