版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.实 验 报 告系 别班 级学 号姓 名时间地点课程名称设计模式实验名称面向对象设计原则实 验 过 程一实验目的与要求1、熟练使用面向对象设计原则二实验设备1、微型计算机3 实验原理和实验内容(一)实验原理1、迪米特法则:不要和“陌生人”说话。或只与你的直接朋友通信。 我们称出现成员变量、方法参数、方法返回值中的类为直接的朋友,而出现在局部变量中的类则不是直接的朋友。也就是说,陌生的类最好不要作为局部变量的形式出现在类的内部。2、开闭原则:一个软件实体应当对扩展开放,对修改关闭。(二)实验内容1、在某图形库API中提供了多种矢量图模板,用户可以基于这些矢量图创建不同的显示图形,图形库设计人员设
2、计的初始类图如下图所示。在该图形库中,每个图形类的init()方法用于初始化所创建的图形,setColor()方法用于给图形设置边框颜色,fill()方法用于给图形设置填充颜色,setSize()方法用于设置图形的大小,display()方法用于显示图形。客户类(Client)在使用该图形库时发现存在如下问题:由于在创建窗口时每次只需要使用图形库中的一种图形,因此在更换图形时需要修改客户类源代码;在图形库中增加并使用新的图形时需要修改客户类源代码;客户类在每次使用图形对象之前需要先创建图形对象,有些图形的创建过程较为复杂,导致客户类代码冗长且难以维护。现需要根据面向对象设计原则对系统进行重构,
3、画类图。需求如下:隔离图形的创建和使用,将图形的创建过程封装在专门的类中,客户类在使用时无须直接创建图形对象,甚至不需要关心具体图形类类名。客户类能够方便地更换图形或使用新增图形,无须针对具体图形类编程,符合开闭原则。2、体育老师让体委清点全班女生人数,类图如下:代码如下:老师不应该执行任何与女学生相关的操作,显然违反了迪米特法则。重新设计类图,编码实现,符合迪米塔法则。3、 在某绘图软件中提供了多种大小不同的画笔(pen),并且可以给画笔指定不同颜色,某设计人员针对画笔的结构设计了如下图所示的类图。通过仔细分析,设计人员发现该类图存在非常严重de问题,如果需要增加一种新的大小的笔或者增加一种新的颜色,都需要增加很多子类,如增加一种绿色,则对应每一种大学的笔都需要增加一只绿色笔,系统中类的个数急剧增加。试根据依赖倒转原则和合成复用原则对该设计方案进行重构,使得增加
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东茂名市电白区赴高校招聘急需紧缺人才61人(医疗岗24人)考试笔试参考题库附答案解析
- 2025年上海立信会计金融学院公开招聘新校区建设办公室工作人员笔试考试参考试题及答案解析
- 2025江苏徐州国信电力工程有限公司招聘9人考试笔试参考题库附答案解析
- 2025龙岩中龙科技有限公司招聘13人笔试考试备考试题及答案解析
- 2025山东医学高等专科学校招聘13人笔试考试参考试题及答案解析
- 外贸纺织业销售实习报告
- 2025江西省江投能源供应链有限公司南昌库及所属企业招聘3人考试笔试备考试题及答案解析
- 2026安徽选聘“警民联调”室专职人民调解员20人考试笔试备考试题及答案解析
- 《JBT9056-1999 容积式制冷压缩冷凝机组》(2026年)实施指南
- 2025浙江杭州市钱塘区第二次统一招聘编外人员10人笔试考试备考试题及答案解析
- 2023年激光器研发工程师年度总结及下一年展望
- 江堤绿化养护投标方案技术标
- 校园监控系统升级改造工程项目投标方案(技术标)
- 跨文化交际实用教程(全套课件266P)
- 电泳涂装专用设备(教材)
- 消防喷淋施工组织设计
- 熵权法教学讲解课件
- 六宫格数独100题
- 退货单模板范本
- 2016年收支预算总表
- 系统性硬化 症的肾损害课件
评论
0/150
提交评论