1.
关
联
Association
关联指的是类之间的引
用关系。
关联可分为一对一、一对多和多对多关联。
a、
单
向关联
b、
双向关联
2.
依赖
Dependency
依赖指的是类之间的访
问关系
。
如果类
A
访问类
B
的属性或方法,或者类
A
负责实例化类
B,
那么可以说类
A
依赖类
B。
和关联关系不同,无需把类
B
定义为类
A
的属性。
总结:谁使用了谁
,
谁负责创建谁
=
谁就依赖谁。
3.
聚合
Aggregation
聚集是
关联关系的一种特例。聚集指的是整体与部分之间
的关系
他体现的是整体与部分、拥有的关系,即
has-a
的关系,此时整体与部分之间是可分离的,他们可以具有各自的
生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与
CPU
、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来区分;
4
、
组合
组合也是关联关系的一
种特例,他体现的是一种
contains-a
的关系,这种关系比聚合更强,也称为强聚合;他同样体现整
体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致
的,只能从语义级别来区分;
5
、一
般化
Generalization
一般化值得是类之间的
继承关系。