目录
1、 对象间的关系
类和类的关系
1、继承(泛化 generalization )
2、实现(realization)
3、依赖(dependency)
4、关联(association)
5、聚合(aggregation)
6、组合(composition)
强调 :聚合、组合是关联的特殊形式,从语义上区分。总体来说,关系强弱程度上依赖<关联<聚合<组合
1.1、依赖关系
定义:可以简单的理解,类A依赖于类B就是类A使用到了类B,类B的变化会影响到类A
这种关系一般是偶然性的、临时性的、非常弱的,依赖关系总是单向的。
表现在代码层面,类B作为参数或局部变量被类A在某个method方法中使用,此时类A依赖于类B
UML表示
类A依赖于类B,用由类A指向类B的带箭头虚线表示。
1.2、关联关系
关联是类和类之间的一种强依赖关系,这种关系一般具有长期性。关联可以是单向、双向的
关联可分为一对一关联、一对多关联、多对多关联
表现在代码层面:被关联类B以类的属性形式出现在关联类A中,关联类A引用了一个类型为被关联类B的全局变量。
UML表示:用带箭头实线表示,箭头指向被关联类;若是双向关联,实线两端可不带箭头。
1.3、聚合关系
定义:关联关系的一种特例,体现的是整体与部分的关系,即has-a的关系,整体与部分之间可分离,具有各自的生命周期
比如计算机与CPU、公司与员工、班级和学生、比如航母编队包括航空母舰、驱护舰艇、舰载飞机等
表现在代码层面,和关联关系是一致的,只能从语义级别来区分
UML表示:以空心菱形加实线箭头表示。