UML基础用法

UML基础用法

类关系

  1. 泛化(Generalization)
    表现为继承
  2. 实现(Realization)
    表现为实现接口
  3. 关联(Association)
    表现为成员变量,一种强依赖的关系
  4. 聚合(Aggregation)
    一种强关联,关联关系双方是平级的,是个体和个体的关系,聚合关系双方不是平级的,是整体和部分的关系。
  5. 组合(Compostion)
    组合关系是一种强聚合的关系,组合关系与聚合关系的区别在于:聚合关系中部分离开整体仍可存活,组合关系中部分离开整体没有意义
  6. 依赖(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 String owner
foo()
~
Static +String owner
+foo()
underline(下划线)
Abstract +foo() italic(斜体)