UML 类图符号备忘
UML类图里面的符号主要有箭头、(空心/实心)三角、(空心/实心)菱形、实线和虚线组成。
组合成如下几种:
- 箭头+虚线: 依赖关系 (Dependency)
- 箭头+实线: 关联关系 (Association)
- 空心三角+虚线: 实现关系 (Implements)
- 空心三角+实线: 泛化/继承关系 (Extends)
- 空心菱形+实线: 聚合关系 (Aggregation)
- 实心菱形+实线: 组合关系 (Composition)
他们表示的类之间的关系从上至下,逐渐增强。 一个比较好记的方式就是:
- 越复杂的图型关系越强(箭头<三角<菱形)
- 实线比虚线关系强
- 实心比空心的关系强
1. 依赖关系
表示两个类之间存在关系,一般是指一个类使用了另一个类。他们之间的关系很弱,偶然性的、临时性的。
2. 关联关系
表示两个类之间存在关系,可以是单向的,也可以是双向的。关联的两个对象之间一般是平等。和依赖关系相比,关联关系更加持久,一般是长期性的。
- 双向(标准)的关联 - 两个类彼此知道它们间的联系,除非你限定一些其它类型的关联。
- 单向关联 - 在一个单向关联中,两个类是相关的,但是只有一个类知道这种联系的存在。
- 关联类 - 用于处理两个类关系的
3. 实现关系
指的是类和接口的关系,是一个类实现了一个接口。
4. 泛化/继承关系
指的是一个类继承另外的一个类的功能,并增加新功能的能力。
5. 聚合关系
指的是整体与部分的关系。聚合对象之间一般是不平等的关系。需求描述中“包含”、“组成”、“分为…部分”等词常意味着聚合关系。
6. 组合关系
表示类之间整体和部分的关系,但是和聚合关系不同,组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。部分对象与整体对象之间具有共生死的关系。
PS. 参考文档UML基础:类图