工作中经常会用 uml 类图去梳理代码结构,所以用一篇博客记录下来。
1、类
+
: 公共成员#
: 保护成员-
: 私有成员抽象(abstract)类和抽象方法,需要将类名和方法名改为斜体。
另外,上图中右边两个方框类型表示 UML 的注释。
静态(static)成员和方法,用下划线表示。
2、接口
与类类似,不过接口里面全是公共方法。
1、实现
类可以实现接口,实现用虚线空心箭头表示。
2、继承
子类可以继承父类,继承用实线空心箭头表示。
1、依赖
依赖是类之间最基础的、也是最微弱的关系类型。如果修改一个类的定义可能会造成另一个类的变化,那么这两个类之间就存在依赖关系。一般在项目中依赖关系很多,所以在绘制 uml 图时,并不是将所有的依赖关系都表示出来,仅表示出你想要表达的依赖关系。太多的依赖图示会破坏 UML 图。
例如在 A 对象中有一个方法的参数是 B,如果我们修改 B 类,那么就会影响到 A 中方法的行为,那么此时 A 依赖于 B。
依赖用虚线箭头表示。
2、关联
关联是一个对象使用另一对象或与另一对象进行交互的关系。另外两个对象间也可能存在互相关联。
例如在 A 对象中有一个成员是B,在 A 中所有的方法,都可以调用 B,那么此时 A 与 B 是关联关系。关联是一种依赖性更强的依赖。
依赖用实线箭头表示。
3、聚合
聚合是一种特殊类型的关联,用于表示多个对象之间的“一对多”、“多对多”或“整体对部分”的关系。通常在聚合关系中,一个对象“拥有”一组其他对象,并扮演着容器或集合的角色。组件可以独立于容器存在,也可以同时连接多个容器。聚合表示的是构成的关系,如果 A 由 B 构成,那么 A 和 B 之间的关系是聚合。
聚合关系使用一端是空心菱形, 另一端指向组件的箭头来表示。
4、组合
组合是一种特殊类型的聚合,其中一个对象由一个或多个其他对象实例构成。组合与其他关系的区别在于组件仅能作为容器的一部分存在。
在UML 图中,组合与聚合关系的符号相同,但箭头起始处的菱形是实心的。
参考:
(完)