参考链接见;https://www.jianshu.com/p/57620b762160、https://www.cnblogs.com/shindo/p/5579191.html和https://baike.baidu.com/item/%E7%B1%BB%E5%9B%BE/4670826?fr=aladdin
1.类图基本属性
第一格:类名
斜体表示抽象
第二格:属性(field)、第三格:方法(method)
-表示private
#表示protected
+表示public
~表示default,也就是包权限
_下划线表示static
接下来介绍三种类之间的关系:
一般关系表现为继承或实现关系(is a),关联关系表现为变量(has a ),依赖关系表现为函数中的参数(use a)。
尤其要注意的是关联与依赖的区别,总的来说就是关联关系比依赖关系更强。
关联:一个类是另一个类的成员变量,可以是单向的,也可以是双向的。
依赖:一个类的某个方法参数类型为另一个类。
类图中的关系表示
2. 一般关系(又称泛化(Generalization))
2.1继承(Inheritance)
表示方法: 用一个空心箭头+实线,箭头指向父类,父类不是接口。
2.2 实现(Realization、Implementation)
表示方法:空心箭头+虚线,箭头指向父类,父类是接口。
3. 依赖(Dependency)
表示方法:虚线+箭头,箭头指向被依赖的一方,也就是指向局部变量。
4.关联(Association)
关联关系从箭头指向又可进一步分为单向关联、双向关联和自关联。
从关联强度可划分为聚合关系和组合关系(又称合成、复合)
4.1聚合(Aggregation)
表示方法:空心菱形+实线+箭头,箭头指向整体。
聚合表示一种弱的‘拥有’关系,即has-a的关系,体现的是A对象可以包含B对象,但 两个对象具有各自的生命周期。比如人和自己的蓝色帽子。
4.2 组合(Composition)
表示方法:实心菱形+实线+箭头,还可以使用连线两端的数字表示某一端有几个实例。
组合是一种强的‘拥有’关系,是一种contains-a的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。比如人和手。