- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
类图和对象图
面向对象分析与设计UML 第5章 类图和对象图 5.1 类的定义 5.1.1 类的属性 5.1.2 类的操作 5.2 类之间的关系 5.2.1 关联 5.2.1 关联 5.2.2 聚集与组合 5.2.2 聚集与组合 5.2.3 泛化关系 5.2.3 泛化关系 5.2.4 依赖关系 5.2.4 依赖关系 5.3 派生属性和派生关联 5.4 抽象类和接口 5.5 版型 5.6 边界类、控制类和实体类 UML中三种主要的类版型 边界类, boundary class 控制类, control class 实体类, entity class 5.6.1 边界类 5.6.1 边界类 5.6.2 实体类 5.6.3 控制类 5.7 类图 5.7.1 类图的抽象层次 5.7.2 构造类图 根据用例描述中的名词确定候选类. 使用CRC分析法寻找类, CRC指: 类(class)、职责(responsibility)、协作(collaboration). 根据边界类、控制类和实体类的划分来帮助发现类. 参考设计模式来确定类. 根据软件开发过程的指导寻找类, 如:UP, XP等. 5.7.2 构造类图 研究分析问题领域, 确定系统需求. 确定类, 明确类的含义和职责, 确定属性和操作. 确定类之间的关系. 调整和细化类及类之间的关系. 绘制类图并增加相应的说明. 5.8 领域分析 建立类图的过程就是对领域及其解决方案的分析与设计过程. 领域分析包括: 通过对某一领域中的已有应用系统、理论、技术、开发历史等的研究, 来标识、收集、组织、分析和表示领域模型及软件体系结构的过程; 根据这一过程得到的结果. 5.9 OO设计的原则 开闭原则(Open/Closed Principle, OCP) Liskov替换原则(Liskov Substitution Principle, LSP) 依赖倒置原则(Dependency Inversion Principle, DSP) 接口分离原则(Interface Segregation Principle, ISP) 5.9.1 开闭原则 5.9.1 开闭原则 5.9.1 开闭原则 5.9.2 Liskov替换原则 5.9.3 依赖倒置原则 5.9.4 接口分离原则 5.9.4 接口分离原则 5.9.4 接口分离原则 探索器接口 索引生成器接口 有哪些信誉好的足球投注网站结果集接口 5.9.6 设计过程中注意的问题 遵守OO设计原则. 不同类中相似方法的名称应该相同. 遵守已有的约定俗成的习惯. 尽量减少消息模式的数目. 只要可能,使消息具有一致的模式, 以利于理解. 设计简单的类. 类的职责要明确, 不要在类中提供太多的服务, 应该从类名可以比较容易推断出用途. 泛化结构的深度要适当. 定义简单的方法. 一个方法内不要包含过多的功能. 5.9.6 设计过程中注意的问题 5.10 对象图 5.10 对象图 作业 建立”笔记本维修系统”的类模型 建立类图的步骤 开闭原则指的是一个模块在扩展性方面应该是开放的, 而在更改性方面应该是封闭的. 其目的是在写模块时,应该尽量使得模块可以扩展, 并且在扩展时不需要对模块的源代码进行修改. 为达到开闭原则, 设计时就尽量使用接口进行封闭, 采用抽象机制, 并利用OO中的多态性技术. 例: 某输出类Output中包含一个output方法, 该方法可能使用多种不同的打印机, 如: HP、EPSON、Canon,每种打印机都有不同的print方法。 设计方案1 void output(int printType){ if(printType==1){ Hp prt = new Hp(); prt.print(args); } else if(printType==2){ Epson prt = new Epson(); prt.print(args); }else{ …… } …… } 设计方案2 void output(Printer printer){ …… printer.print(args); …… } 如何增加打印机类型? 定义: 如果对每一个类型为T1的对象o1, 都有类型为T2的对象o2, 使得以T1定义的所有程序P, 在所有对象o1被代换成o2时, 程序P的行为没有变化, 那么类型T2是类型T1的子类型. Java等语言中是否允许左图中的继承, 即子类使用较低访问权限覆盖父类的方法呢? 不允许, 这样违背了Liskov替换原则. 定义1: 抽象不应该依赖于细节, 细节应该依赖于抽象. 定义2: 要针对接口编
您可能关注的文档
- 第课辉煌的隋唐文化二.ppt
- 第课辽夏与北宋的和战.ppt
- 第课邓稼先.ppt
- 第课辛亥革命和中华民国的成立.ppt
- 第课近代前夜的发展与迟滞.ppt
- 第课雀巢咖啡是怎样进入中国市场的.ppt
- 第课香港和澳门的回归.ppt
- 第课马克思主义的诞生.ppt
- 第货币时间价值.ppt
- 第这章随机变量的数字特征.ppt
- 中国和西方教育的差异.pptx
- 2025年大学英语三级(B级)模拟试卷397(题后含答案及解析).pdf
- 2025年大学英语三级(B级)模拟试卷321(题后含答案及解析).pdf
- 2025年大学英语三级(B级)模拟试卷45(题后含答案及解析).pdf
- 2025年大学英语三级(B级)模拟试卷136(题后含答案及解析).pdf
- 2025年大学英语三级(A级)模拟试卷460(题后含答案及解析).pdf
- 2025年大学英语三级(A级)模拟试卷444(题后含答案及解析).pdf
- 2025年大学英语三级(A级)模拟试卷330(题后含答案及解析).pdf
- 2025年大学英语三级(B级)模拟试卷103(题后含答案及解析).pdf
- 个人年终总结创意.pptx
最近下载
- 2025年全国特种设备安全管理人员A证考试题库(含答案) .docx
- 灌装操作工作业指导书.doc
- 番茄酱灭菌灌装机说明书end.doc VIP
- 性格培养08勇敢的小熊.pptx
- 腐植酸肥料生产建设项目可行性研究报告.doc
- 民营企业财务管理新规制度.doc
- 2023基于手机银行APP专区调研的客群精细化运营分析报告.pdf VIP
- 杀菌操作工作业指导书.doc VIP
- 基于手机银行APP专区调研的客群精细化运营分析报告-42页.doc VIP
- 马工程系列《教育学原理》项贤明主编第一到十章全完整版课件PPT:产生发展、教育与社会人的发展、目的培养目标、制度、课程教学德育、教师学生等(1).pptx
文档评论(0)