「英文时间」:UML: Unified Modeling Language n.统一建模语言
UML 是一种在面向对象软件开发中被设计来简化软件开发、供程序员交流的一种标准、统一的描述符号而已,就这样理解就可以了。
UML 中有三个组成成分,分别是事物、关系和图。比如类、接口就是事物,关系可以有继承、实现以及组合等,图就是上述的事物和关系组合的一张图而已。
UML 有 9 中图,分别是:类图、对象图、用例图、顺序图、协作图、活动图、状态图、部署关系图、组件图。
UML 类图
现在只学习 UML 中的类图,其他暂时也用不上,这在学习设计模式的过程中用的非常广泛,以后学习设计模式的时候一定要画标准的 UML 类图做演示。
类图中的事物部分有普通类、抽象类和接口。关系有继承(泛化)、实现、组合、聚合、关联、依赖六种关系。如下图例子所示:
下面分开讲解类的这六种关系,类之间的关系表示符号在图中已经有明确的展示:
- 继承关系,这就是面向对象类里面的继承,但是这里用了一个泛化这个词来描述这种继承关系,真的让人有点接受不了,用空心箭头的实线表示这种关系。
- 实现关系,就是一个类实现一个接口的关系,用空心箭头的虚线表示。
- 组合关系,表示部分和整体的关系,这是一种强依赖的关系,如果整体不存在了,部分也就不存在了。比如公司不存在了,那么公司的部门也就不存在了。用实心菱形箭头直线表示。
- 聚合关系,同样是表示整体和部分的关系,这是一种弱依赖关系,即便整体不存在了,部分并不会受影响。比如公司部门撤销了,员工仍然会存在。用空心菱形箭头直线表示。
- 关联关系,它仅仅表示两个事物之间有某种关系,但这种关系通常很强,比如乘客和车票的关系,学生和身份证的关系。用一个实直线表示。
- 依赖关系,它和关联关系不同,是一种通常在运行时产生的临时关系,比如学生和自行车的关系。用一个带箭头的虚线表示。
总结下这六种关系:继承关系和实现关系是一对的,都用空心箭头表示。组合关系和聚合关系是一对的,都表示整体和部分的关系,用菱形的直线表示。依赖关系和关联关系是一对的,都表示事物之间的某种联系,只是他们表示关系的连线不是很对应。