【依赖】【关联】【聚合】【组合】

前端之家收集整理的这篇文章主要介绍了【依赖】【关联】【聚合】【组合】前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

依赖:----存在于某个方法调用的参数中,或某个方法的局部变量中。

Person类与Ball 类的依赖关系

[代码表现]

public class Person{
public void throwBall(Ball ball){
ball.throw();
}
}


关联(association):---存在一个属性

车(Car)和轮子(Circle )的关联关系 作为属性 是该类必不可少的一部分 没有了车

也就不存在轮子,轮子坏了 车也跑不动了

[代码表现]
public class Car{
private Circle circle;

}

聚合(aggregation) 存在一个属性

聚合这种关系是被包含的对象的个数是 0..* 而组合是 1..*
聚合中的被包含对象可以没有。 而组合至少有一个。聚合是一种拥有的关系,而组合是整体与部分的关系

同构性,主体(Company)和部分(Book )不具有生命期的一致性

也就是 自己干自己的活 让别人说去吧

书作为公司的属性 却与公司不存在任何关系

没有了公司 书照样存在

public class Company{
private Book book;

}

组合(composition)

他们的关系按强弱分有

关联<聚合<组合

聚合这种关系是被包含的对象的个数是 0..* 而组合是 1..*
聚合中的被包含对象可以没有。 而组合至少有一个。聚合是一种拥有的关系,而组合是整体与部分的关系

异构性,部分(Circle)和主体(Car)具有生命期上的一致性

你和你的心脏之间是composition关系你和你买的书之间是aggregation关系你和你的朋友之间是association关系

猜你在找的设计模式相关文章