UML类图思考

建模是很复杂的,UML 类图是很好的工具,必须首先掌握。

首先我们自己思考一下,如果自己设计UML语言,应该如何设计。类与类之间的关系如何安排,例如学校管理。

首先就是抽象与实现的关系,需要有各种人,所以人是一个抽象,具体的教师、职工、学生都是实现。

另外是包含关系,例如班级包含了学生,学生和老师组成了班级。

还有一种是年级和班级的关系,班级组合为年级,和上一种关系不一样的是,但是班级不能脱离年级单独存在。

最后就是关联关系,这种关系就是多个类之间为了完成一件事必须存在某种联系,例如选课需要学生和课程,上课需要学生和老师,组织一次活动需要组织者和参与者。

UML 类图表示

我们自己总结了,但是实际上别人已经总结好了,更完善专业,我们进行学习。

1. 泛化(Generalization)

泛化是一种继承关系,空心箭头的实线表示,箭头指向父类 <|——————————————————————

2. 实现(Realization)

类似泛化,但是是实现接口,用带空心箭头的虚线表示,箭头指向接口 <|——————

3. 一般关联

任何类都能因为某个方法,产生关系。带普通箭头的实心线

4. 聚合(Aggregation)

整体与部分的联系。空心菱形的实线。

5. 组合(Composition)

整体与部分的关系,是比聚合关系还要强的关系。实心菱形的实线表示,菱形指向整体。

6. 依赖(Dependency)

这个上面没说,实际上很多都是这个关系。要避免双向依赖,一般来说,不应该存在双向依赖。带箭头的虚线表示,箭头指向被依赖元素。

强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

实例

UML类图也不是一学就会的,需要有一个慢慢熟练的过程。所谓学无止境,其实这才是理解面向对象的开始呢。 实例网上比较多。例如: https://blog.csdn.net/monkey_d_meng/article/details/6005764