UML图中的类图及类图之间的关系

UML简介

UML(Unified Modeling Language,UML)统一建模语言,是用来设计软件蓝图的可视化建模语言,它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。

类图

类图在UML中用于表示类以及类与类之间的静态关系的信息,也是我们在学习设计模式时最重要的一种模型,通过UML类图,我们可以更加清晰明了的理解设计模式的工作原理,在后续章节中会频繁使用到。

类图中的关系表示符

在使用UML进行面向对象设计时,为了清晰的表述类与类之间的关系,UML提供了一系列的关系标识符,如下所示:

  • Dependency:表示依赖关系;
  • Association:表示关联关系;
  • Generalization:表示泛化关系,也就是继承关系;
  • Realization:表示实现,即一个类实现一个接口;
  • Aggregate:表示聚合关系;
  • Composite:表示组合关系;

类图中的关系表示法

1. 依赖关系

假如一个 A 类 中使用了另一个类 B,则说明类 A依赖于类 B,使用的方式有很多种,例如:成员变量、方法参数、返回值、以及在方法中的局部变量,这些都属于依赖关系,在UML类图中,依赖关系表示如下:
UML图中的类图及类图之间的关系
UML图中的类图及类图之间的关系
UML图中的类图及类图之间的关系

2. 泛化关系

泛化关系是依赖关系中的一种特例,如果一个类 B 继承于类 A,则说明类A 与类 B之间存在泛化关系。
UML图中的类图及类图之间的关系

3. 实现关系

实现关系也是依赖关系中的一种特例,如果一个类B 实现了接口 A,则说明两者之间存在实现关系;
UML图中的类图及类图之间的关系

4. 关联关系

  • 关联关系实际上是类与类之间的关系,他是依赖关系的特例。
  • 关联关系具有导航性:即双向关系和单向关系
  • 关联关系具有多重性:如“1”(表示有且仅有一个),“0…”(表示0个或多个),“0,1”(表示0个或1个),“n…m”(表示n到m个都可以),“m…”(表示至少m个)
    UML图中的类图及类图之间的关系

5. 聚合关系

聚合关系表示整体与部分的关系,整体与部分可以分开聚合关系是关联关系的特例,所以它也具有导航性和多重性。
UML图中的类图及类图之间的关系

6. 组合关系

如果认为类之间具有不可分割的关系,则升级为组合关系,组合也是整体与部分的关系,但是整体与部分不可分开,组合关系是关联关系中的一种强耦合关系。

UML图中的类图及类图之间的关系