继承、实现、依赖、关联、聚合、组合
![](https://img-blog.csdn.net/20160216150901331?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
1.继承 : 在UML中也称为
泛化。
指的是类和类、接口和接口之间的关系。继承了父一级的功能,同时增加自己新功能的关系。Java用extends关键字标识。
2.实现 : 一个class实现一个interface接口的功能。Java中关键字implements标识。
3.依赖 : 相对弱、偶然、临时的交互关系,但是被依赖的类变化时,会影响到依赖的类。被依赖的类常以方法的参数、临时变量(不推荐)、返回值等形式出现。
4.关联 : 体现的是两个类或一个类与接口之间的强依赖关系,这种关系是平等的、非临时性的,长期性的。代码层面常以被关联的类以属性的形式出现在关联类中。两端的数字代表本端的类实例在关系中,可能出现的数量。
5.聚合 : 聚合是关联的特例,体现的是整体与部分的包含关系。整体与部分是可分离的,可以具有不同的生命周期。部分可以被多个整体包含、共享。代码层面与关联是一致的,只能从实际意义上区分。两端数字意义同上。
6.组合 : 也是关联的特例,表示包含关系。与聚合不同是的,整体与部分是不可分离的,具有相同的生命周期。代码层马与上面两个关系相同。两端数字意义相同。
聚合、组合的区别:一群人在一起组成了家族,人和家族之间就是聚合的关系,是可以分离的。人的各个器官在一起组成了一个完整的人,你的器官和你之间就是组合关系,是不可分开的。(不要想象血腥的场面)