UML基础用法
UML基础用法
类关系
- 泛化(Generalization)
表现为继承 - 实现(Realization)
表现为实现接口 - 关联(Association)
表现为成员变量,一种强依赖的关系 - 聚合(Aggregation)
一种强关联,关联关系双方是平级的,是个体和个体的关系,聚合关系双方不是平级的,是整体和部分的关系。 - 组合(Compostion)
组合关系是一种强聚合的关系,组合关系与聚合关系的区别在于:聚合关系中部分离开整体仍可存活,组合关系中部分离开整体没有意义 - 依赖(Dependency)
一种使用关系,依赖方可以是参数,也可以是返回值。
各种关系的强弱顺序:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
UML
Defining Relationship
对应的是上述类之间的关系,UML中区分的很细致。
Type | Description |
---|---|
<|– | Inheritance |
*– | Composition |
o– | Aggregation |
–> | Association |
– | Link (Solid) |
..> | Dependency |
..|> | Realization |
.. | Link (Dashed) |

Defining a class
UML中使用框形式表示一个类。如下:

第一格表示类/接口名称
名称,声明的是接口则标注关键字*<>, 抽象类标注< >*,枚举类型< >,service class< > 第二格表示声明的成员变量
第一个字符表示属性,例如公开,私有。随后是成员类型,最后是名称第三格表示声明的方法
方法和成员相似,不同的是有个括号,括号内是参数名称。成员类型字段表示returnType。当没有返回值时returntype可以省略。
Defining member of a class
Type | Examples | keyword |
---|---|---|
Public | +String owner +String foo() |
+ |
Private | -String owner -String foo() |
- |
Protect | #String owner #foo() |
# |
Package/internal | ~ | |
Static | +String owner +foo() |
underline(下划线) |
Abstract | +foo() | italic(斜体) |