关系的强弱
泛化=实现>组合>聚合>关联>依赖
1. 泛化
1). 是一种继承关系, 表示一般与特殊的关系
2). 代码体现为对父类的继承
3). 用直线空心三角箭头表示, 箭头指向父类
2. 实现
1). 是类与接口之间的关系
2). 代码体现为实现接口
3). 用虚线空心三角箭头表示, 箭头指向接口
3. 组合
1). 部份和整体之间的关系,部份不能独立于整体独立存在, 如公司和部门之关的关系,
2). 代码体现为成员变量
3). 实线箭头实心菱形,菱形指向整体
4. 聚合
1). 是整体与部分的关系,且部分可以离开整体而单独存在.如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在
聚合关系是关联关系的一种,是强的关联关系,关联和聚合在语法上无法区分,必须考察具体的逻辑关系
2). 代码体现为成员变量
3). 带空心菱形的实心箭头线,菱形指向整体
5. 关联
1). 是一种拥有关系,它使一个类知道另一个类的属性和方法
2). 代码体现为成员变量
3). 带普通箭头的实心箭头线,指向被拥有者
6. 依赖
1). 是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖
2). 局部变量,方法的参数或者对静态方法的调用
3). 带箭头的虚箭头线,指向被使用者