UML类图概述
一、Why UML
UML (Unified Modeling Language - 统一建模语言)
,是一种用来对软件密集系统进行 可视化建模 的语言,UML
的定义包括 UML
语义和 UML
表示法两个元素。
UML
的目标是以 面向对象图 的方式来描述任何类型的系统,具有很宽的应用领域,包含十种图
二、What is UML Class Diagram
Class Diagram
:类图
类图在 UML
的十个图中占据了一个相当重要的地位。James Rumbaugh
对类的定义是:“类是具有相似结构、行为和关系的一组对象的描述符。”,类是面向对象系统中最重要的构造块。而类图显示了一组类、接口、协作以及他们之间的关系。
三、怎么画 UML 类图
- 属性和方法前面的 +、-、# 分别代表 public、private、protect
- 方法名/属性名写在冒号前面,类型/返回值类型写在冒号后面
3.1.Generalization
Generalization
:泛化、继承
- Direction :B to A
- Express:实线 + 三角形
-
Relational:B 继承 A
3.2.Realization
Realization
:实现
- Direction:B to A
- Express:虚线 + 三角形
-
Relational:B 实现 A
3.3.Dependency
Dependency
:依赖
- Direction:B to A
- Express:虚线 + 箭头
-
Relational:即,A 使用到了 B,比如在 A 中某个方法中有 A 的对象
3.4.Association
association
:关联
- Direction:B to A
- Express:实线 + 箭头
-
Relation:在 B 中有 A 类的对象属性
3.5.Aggregation
aggregation
:聚合
-
Direction:B to A
-
Express:空心菱形(被聚合的一方) + 实线 + 箭头
-
Relation:表示一种弱拥有的关系:
has-a
,意思是有一个。即 A 中拥有 B 类的对象,但 A 里不是一定要有这个对象,比如手机上可以有手机壳,但并不是必须要有
3.6.Composition
composition
:组合
- Direction:B to A
- Express:实心菱形(被组合的一方) + 实线 + 箭头
-
Relation:表示一种强拥有的关系:
part-of
,意思是一部分为。即 A 中拥有 B 类的队形,而且不能失去这个对象,比如手机上必须要有一个处理器