UML¶
- uml关系线图和基数图例如下
1 接口¶
java、go语言中有interface关键字,c++中并没有interface关键字。但在c++中接口相当于是抽象类(含有纯虚函数的类)。
2 泛化和实现¶
- 实现:是从接口派生,在java中就是使用关键字
implements
- 泛化:是从某个类派生,在java中就是使用关键字
extends
3 聚合和组合¶
- 聚合:是整体与部分的关系, 且部分可以离开整体而单独存在. 如车和轮胎是整体和部分的关系, 轮胎离开车仍然可以存在.
- 组合:是整体与部分的关系, 但部分不能离开整体而单独存在. 如公司和部门是整体和部分的关系, 没有公司就不存在部门
4 关联和依赖¶
- 关联:是一种拥有的关系, 它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子。关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头
- 依赖:是一种使用的关系, 即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖.