依赖 :(Dependency)对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系
关联 :(Association)对象之间一种引用关系,比如客户类与订单类之间的关系。这种关系通常使用类的属性表达。指一个类指到另一个类中的属性. 而且是长期的 ( 不带有包含关系的关 联 ) 一对一、一对多、多对多
class A{
private B b;
}
class B{
private A a;
}
聚合 (又聚集):(Aggregation)表示has-a的关系,是一种 不稳定的包含关系 。聚合类不必对被聚合类负责。使用集合属性表达聚合关系
较强于一般关联 , 有整体与局部之间的关系,并且没有了整体,局部也可单独存在,如小组与小组里面的成员, 小组不存在, 成员也可单独存在 , 也可加入其它小组, 其组成关系可以共
组合 :(Composition)表示contains-a的关系, 是一种强烈的包含关系 。组合类负责被组合类的生命周期。也使用集合属性表达聚合关系
也叫合成关系 , 是一种更强的整合与局部的关系 , 其关系更加紧密 ., 如: 一个分子由多个原子按一定的结构组织而成, 在物理变化中(针对分子的操作), 按这个角度去看 , 分子间发生变化 , 变成另一种状态, 但分子结构不变, 还是这种物质. 其组成关系多原子组成结构不可以共享.
继承 :表示is-a的关系,是对象之间耦合度最大的一种关系,子类继承父类的所有细节。直接使用语言中的继承表达。
1) 一种父子关系
2) 有共同特点 , 或者有普通和特殊关系
3) 如: 一种进化关系, 如:
动物 --> 人