[ 设计模式笔记 ] 1. UML 类图
类图
用于描述系统中的类的组成和类之间的各种静态关系。
类之间的关系:
依赖,泛化,实现,关联,聚合和组合。
依赖
只要在A类中使用到了B类,则A类就是依赖于B类。不管是在成员变量,参数,方法返回值,还是方法局部中使用,以及继承和实现。
泛化
是依赖关系的特例, 表示继承关系。
实现
是依赖关系的特例, 表示实现关系。
关联关系:
是依赖关系的特例, 可以表示类之间的数量关系,以及是单向还是双向。即导航性和多重性。
数量上的表示:1
表示有且仅有一个成员变量,0...
表示0个或多个,0, 1
表示有0个或1个,n...m
表示n到m个都可以,m...*
表示至少m
个。
单向一对一:
双向一对一:
其他关系
根据导航性和多重性可以得出单向一对一,双向一对一,单向一对多,双向多对多的情况。UML
图类似上面即可。
聚合关系
是是关联关系的特例, 同样具有导航性(方向),多重性(数量)上的关系。
聚合关系表示被聚合对象是可以替换的(提供set方法)。比如一个电脑类聚合一个键盘类,键盘是可以更换 或 不设置,电脑依然还是电脑。
组合关系
是是关联关系的特例, 同样具有导航性(方向),多重性(数量)上的关系。
组合关系表示一种不可分离的关系。不提供set方法设置不可替换成员变量。且生命周期一致,是一种共生共灭的关系。
如果两个类存在级联删除的效果, 则其关系也为组合关系,比如对Person
进行删除的同时,其IDCard
也会一起删除,其表现为同生共死的关系。