UML 类图简介

前言

平常在阅读一些源码类,设计模式,架构类文章时,经常会遇到 UML 类图。因此,懂得一些常用的 UML 类图表示会给我们阅读理解这类文章带来很大帮助。

本篇文章主要对一些常用的 UML 类图表示进行简介,争取让大家在极短时间内具备 UML 类图阅读能力。

UML 类图基本表示方式

UML 类图有3个基本组件:类名、属性、方法。
其中:
属性 的完整表示方式为:可见性 名称 :类型 [ = 缺省值]
方法 的完整表示方式为:可见性 名称(参数列表) [ : 返回类型]
中括号中的内容表示是可选的。

UML 基本类图如下图所示:

UML 类图简介_第1张图片
UML

其中:
类属性/方法名称前的“+”,“-”表示该属性/方法的可见性,UML类图中表示可见性的符号有三种:

symbol representation
+ 表示public
- 表示private
# 表示protectedfriendly也归入这类)

类间关系表达

在 UML 类图中,类间关系总共包含如下几种:

  1. 依赖(Dependence):假设类A的变化引起了类B的变化,则说名类B依赖于类A。
    在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。
UML 类图简介_第2张图片
依赖:Driver 依赖 Car

依赖关系一般为如下三种情况(假设 B 依赖 A):

  • A类是B类中的(某中方法的)局部变量
  • A类是B类方法当中的一个参数
  • A类向B类发送消息,从而影响B类发生变化;
  1. 泛化(Generalization):A是B和C的父类,B,C具有公共类(父类)A,说明A是B,C的一般化(概括,也称泛化)。
    泛化关系也就是继承关系
    在UML类图中,泛化关系/继承关系用带空心三角形的直线表示:
UML 类图简介_第3张图片
泛化/继承
  1. 实现(Implementation):在类图中就是接口和实现的关系。
    在 UML 类图中,使用带三角箭头的虚线表示,箭头从实现类指向接口:
UML 类图简介_第4张图片
实现
  1. 关联(Association):表示类之间的联系。在编程语言中,一般以 类属性 表示这两个类存在关联关系。
    关联 关系又可进一步分为 单向关联双向关联自关联
     1. 单向关联:即一个类持有另一个类的实例作为属性。在UML类图中单向关联用一个带箭头的直线表示:
UML 类图简介_第5张图片
单向关联

 2. 双向关联:即类双方各自持有对方类型的成员变量。在UML类图中,双向关联用一个不带箭头的直线表示:

双向关联

 2. 自关联:即一个类持有自身类型的另一个实例作为属性。自关联在UML类图中用一个带有箭头且指向自身的直线表示:

UML 类图简介_第6张图片
自关联
  1. 聚合(Aggregation):表示的是整体和部分的关系,且 整体与部可以分开,表示 has-a 的关系。
    在UML中,聚合关系用带空心菱形的直线表示:
UML 类图简介_第7张图片
聚合
  1. 组合(Composition):也是整体与部分的关系,但是 整体与部分不可以分开,表示 contains-a 的关系。
    在UML中,组合关系用带实心菱形的直线表示。
组合

:图片来源于网络,侵删

参考

  • 五分钟读懂UML类图

  • UML类图与类的关系详解

  • UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现

你可能感兴趣的:(UML 类图简介)