UML类图概述

一、Why UML

UML (Unified Modeling Language - 统一建模语言) ,是一种用来对软件密集系统进行 可视化建模 的语言,UML 的定义包括 UML 语义和 UML 表示法两个元素。

UML 的目标是以 面向对象图 的方式来描述任何类型的系统,具有很宽的应用领域,包含十种图

点击跳转至Wiki解释

二、What is UML Class Diagram

Class Diagram :类图

类图在 UML 的十个图中占据了一个相当重要的地位。James Rumbaugh 对类的定义是:“类是具有相似结构、行为和关系的一组对象的描述符。”,类是面向对象系统中最重要的构造块。而类图显示了一组类、接口、协作以及他们之间的关系。

点击跳转至Baidu解释

三、怎么画 UML 类图

UML类图概述

  • 属性和方法前面的 +、-、# 分别代表 public、private、protect
  • 方法名/属性名写在冒号前面,类型/返回值类型写在冒号后面

3.1.Generalization

Generalization:泛化、继承

  • Direction :B to A
  • Express:实线 + 三角形
  • Relational:B 继承 A
    UML类图概述

3.2.Realization

Realization:实现

  • Direction:B to A
  • Express:虚线 + 三角形
  • Relational:B 实现 A
    UML类图概述

3.3.Dependency

Dependency:依赖

  • Direction:B to A
  • Express:虚线 + 箭头
  • Relational:即,A 使用到了 B,比如在 A 中某个方法中有 A 的对象
    UML类图概述

3.4.Association

association:关联

  • Direction:B to A
  • Express:实线 + 箭头
  • Relation:在 B 中有 A 类的对象属性
    UML类图概述

3.5.Aggregation

aggregation:聚合

  • Direction:B to A

  • Express:空心菱形(被聚合的一方) + 实线 + 箭头

  • Relation:表示一种弱拥有的关系:has-a,意思是有一个。即 A 中拥有 B 类的对象,但 A 里不是一定要有这个对象,比如手机上可以有手机壳,但并不是必须要有
    UML类图概述


3.6.Composition

composition:组合

  • Direction:B to A
  • Express:实心菱形(被组合的一方) + 实线 + 箭头
  • Relation:表示一种强拥有的关系:part-of,意思是一部分为。即 A 中拥有 B 类的队形,而且不能失去这个对象,比如手机上必须要有一个处理器
    UML类图概述