类图--聚合、组合、依赖、实现关系
三、聚合关系
整体和部分的关系,一个类描述了一个较大的事物就是整体,它由较小的事物也就是部分组成。但部分可以独立于整体存在。
一个图书馆可以包含0个或多个书籍类,但书籍可以在没有图书馆的情况下单独存在
'has a'是英语中用来表达人或事物之间'拥有关系'的动词短语,主要描述'某物归属于某人'或'某对象包含某组成部分'的基本概念。在语法结构上,该短语由第三人称单数形式的动词'has'加不定冠词'a'构成,后接可数名词单数形式,构成'主语+has+a+名词'的固定搭配。
整体拥有部分,实际上是一种特殊的关联
UML中,用一条线连接,整体一端用空心菱形表示,一个图书馆可以包含0个或多个书籍类
但书籍并不是图书馆的一部分,图书可以独立存在
大难临头各自飞
好的时候可以在一起,图书馆拆了,图书还能单独存在,再换一家
空心菱形只是区别一下整体和部分

四、组合关系
![]()

一个图书馆有多个房间,一个房间有多个书架
是更强的关联关系
图书馆拆了,房间、书架就都不存在了
合为一体,同生死共进退,强聚合关系
部分不能独立于整体存在,整体不在了,部分也会消失
UML中,用实心菱形表示,头部指向整体
组合,拆都拆不动
聚合,只是临时在一起,在某些场景可以拆开
五、依赖关系

图书类,依赖于图书分类,来决定图书所属类别
图书类指向图书分类的一个引用,以便通过图书分类来检索图书
book使用bookcategory来完成分类。
虚线指向被依赖的事物
一个事物使用另一个事物的时候可以使用依赖

六、实现关系

虚线+空心三角箭头表示,箭头指向接口
与泛化关系的符号类似,泛化是实线
圆形Circle 实现形状Shape的接口
还有矩形、三角形、各自实现Draw方法
完整类图

学校管理系统

先基础类,不定义字段,
先把关系理出来,属性、方法后面设置
学生、教师都继承自人员类
人员类会抽象出一些公共部分,
共有属性:id,名称,
抽象方法:考核
学生和老师继承,并实现具体的抽象方法
现实中不会实例化员工类,所以用斜体表示,一个抽象类
班级和学生之间
学生离开了班级依然会独立存在
表示聚合关系,整体没了,个体依然存在
建筑、教室、楼层
组合关系
一个班级一个房间
一对一的关系

浙公网安备 33010602011771号