F_JustWei's Studio.

UML-时序图

字数统计: 700阅读时长: 2 min
2021/04/26 Share

UML-类图

泛化关系 (Generalization)

用来描述继承关系,在 Java 中使用 extends 关键字。

泛化关系由带空心三角形的实线来表示。如下图所示:Car 与 Trunck 继承 Vihical。

image-20210425193642304

实现关系 (Realization)

用来实现一个接口,在 Java 中使用 implements 关键字。

实现关系由带空心三角形的虚线来表示。如下图所示:Fly 与 Run 实现了 MoveBehavior 接口。

image-20210425193835636

聚合关系 (Aggregation)

表示整体由部分组成,但是整体和部分不是强依赖的,整体不存在了部分还是会存在。

聚合关系由带空心菱形的实线表示。如下图所示: Keyboard 、Mouse 、 Screen 聚合到了 Computer。

image-20210425193918825

组合关系 (Composition)

和聚合不同,组合中整体和部分是强依赖的,整体不存在了部分也不存在了。比如公司和部门,公司没了部门就不存在了。但是公司和员工就属于聚合关系了,因为公司没了员工还在。

组合关系由带实心菱形的实线表示。如下图所示:DepartmentA 与 DepartmentB 组成了 Company。

image-20210425193948551

关联关系 (Association)

表示不同类对象之间有关联,这是一种静态关系,与运行过程的状态无关,在最开始就可以确定。因此也可以用 1 对 1、1 对多、多对多这种关联关系来表示。

关联关系由一条实线来表示。如下图所示:School 与 Student 是 1 对多的关系。

image-20210425194010053

依赖关系 (Dependency)

和关联关系不同的是,依赖关系是在运行过程中起作用的。A 类和 B 类是依赖关系主要有三种形式:

  • A 类是 B 类方法的局部变量。
  • A 类是 B 类方法的参数。
  • A 类向 B 类发送消息,从而影响 B 类发生变化。

    组合关系由带箭头的虚线来表示。如下图所示:Vihicle 依赖与 MoveBehavior。

    image-20210425194117479

    以上类图使用 PlantUML 绘制 。

    示例

    image-20210426103754021

  • 车的类图结构为<\>,表示车是一个抽象类。

  • 它有两个继承类:小汽车和自行车,它们之间的关系为实现关系,使用带空心三角形的虚线来表示。
  • 小汽车为与SUV之间也是继承关系,它们之间的关系为泛化关系,使用带空心三角形的实线来表示。
  • 小汽车与发动机之间是组合关系,使用带实心菱形的实线来表示。
  • 学生与班级之间是聚合关系,使用带空心菱形的实线来表示。
  • 学生与身份证之间为关联关系,使用实线来表示。
  • 学生上学需要用到自行车,与自行车是一种依赖关系,使用带箭头的虚线来表示。
CATALOG
  1. 1. UML-类图
    1. 1.0.1. 泛化关系 (Generalization)
    2. 1.0.2. 实现关系 (Realization)
    3. 1.0.3. 聚合关系 (Aggregation)
    4. 1.0.4. 组合关系 (Composition)
    5. 1.0.5. 关联关系 (Association)
    6. 1.0.6. 依赖关系 (Dependency)
    7. 1.0.7. 示例