每日总结
[实验任务一]:UML复习
阅读教材第一章复习UML,回答下述问题:
面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明。
关联(Association):
定义:关联表示一个类与另一个类之间的连接。一个类可以与另一个类建立关联,这表示两者之间存在某种关系。
示例:一个学校类与一个学生类之间可以建立关联,表示学校与学生之间存在关系。
聚合(Aggregation):
定义:聚合表示一个类可以包含另一个类,但它们之间的生命周期可以独立存在。聚合关系通常是弱的整体部分关系。
示例:一个图书馆类可以包含多个书籍类,但即使图书馆不存在了,书籍仍然可以存在。
类图示例:
组合(Composition):
定义:组合是一种强的整体部分关系,表示一个类包含另一个类,而且它们的生命周期是相互依赖的。如果外部类不存在了,内部类也将不存在。
示例:一个汽车类包含多个轮子类,如果汽车不存在了,轮子也将不存在。
类图示例:
继承(Inheritance):
定义:继承表示一个类可以从另一个类继承属性和行为,并且可以添加自己的属性和行为。
示例:一个动物类可以派生出猫类和狗类,它们都具有动物的一般特性,但也有各自特有的特性。
类图示例:
依赖(Dependency):
定义:依赖表示一个类在实现过程中依赖于另一个类的服务或方法。
示例:一个订单类可能依赖于一个支付类来完成支付操作。
类图示例:
[实验任务二]:单一职责原则
登录模块在实际项目开发中很常见,请按照教材28页(PPT49页)利用单一职责原则重构后的类图实现这一模块。
实验要求:
1.提交源代码和对应的数据库文件(注意将此模块保存,以备以后使用);
2.注意编程规范。
代码见附件1
[实验任务三]:依赖倒转原则与合成复用原则
在一画图软件中提供了多种大小不同的画笔,并且可以给画笔指定不同的颜色,某设计人员对画笔进行了如上图所示的设计。通过分析,可以发现增加画笔的种类和颜色会使得系统中类的数目急剧增加,请根据合成复用原则和依赖倒转原则对上述设计进行重构。
实验要求:
1.提交源代码;
2.画出重构后的类图。
答:1.
2.代码见附件2