源码必备--图解UML类图(最易懂)
一张图看懂UML的类图图示样例:
一、UML中类图符号解释
1.类(Class):使用三层矩形框表示。
第一层显示类的名称,如果是抽象类,则就用斜体显示。
第二层是字段和属性。
第三层是类的方法。
注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。我们的示意图中未列属性字段,因此画了两层.
2.接口:使用两层矩形框表示,与类图的区别主要是顶端有<<interface>>显示。
第一行是接口名称,第二行是接口方法。
接口还有一种表示方法,叫棒棒糖表示法,圆圈旁为接口名称:
3.泛化(Generalization),也就是继承(extends)关系:用空心三角形+实线来表示,是A is a B的关系。
下图中ExecutorService继承了Executor,也就是ExecutorService is a Executor。
4.实现(Realization),也就是实现接口(implements):用空心三角形+虚线来表示。下图中ScheduledThreadPoolExecutor实现了接口ScheduledExecutorService。
5.关联(Association):用 实线箭头 来表示,例如:企鹅与气候,图示表示和代码表示如下:
6.聚合(Aggregation):用 空心的菱形+实线箭头 来表示
聚合:表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分,关系图和代码图示如下:
7、组合(Composition):用 实心的菱形+实线箭头 来表示
组合:部分和整体的关系,并且生命周期是相同的。关系图示和代码图示如下:
注意:这里包含基数的概念,连线两端的数字表明这一端的类可以有几个实例,比如,一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。关联、聚合、组合是有基数的。
8.依赖(Dependency):用 虚线箭头 来表示,关系图示与代码示例如下: