Java中聚合和组合的概念
聚合和组合关系都是描述 对象之间
整体-部分
的关系。
(一)概念
组合:组合是整体与部分的关系, 并且部分不可以离开整体而单独存在。 聚合:整体与部分的关系, 并且部分可以离开整体而单独存在。
在实际写代码时:
组合方式一般会这样写:
A类的构造方法里创建B类的对象,也就是说,当A类的一个对象产生时,B类的对象随之产生,当A类的这个对象消亡时,它所包含的B类的对象也随之消亡。
聚合方式则是这样:
A类的对象在创建时不会立即创建B类的对象,而是等待一个外界的对象传给它
传给它的这个对象不是A类创建的。
现实生活中(举例):
人和人和手,脚是组合关系,因为当人死亡后人的手也就不复存在了。人和他的电脑是聚合关系。
一句话概括,组合是一种很强的关系,部分是不能离开整体的 ,就是你不能离开我,你一离开我,我们都不好过,而聚合是能离开的。
(二)组合和聚合的实现
以上述现实生活举例:
组合:
class Hand{
}
class Computer{
}
class Person{
private Hand hand;
public Person(){
hand = new Hand();
}
}
聚合:
class Person{
private Computer computer;
public setComputer(){
computer = new Computer();
}
}
参考博客:
版权声明:本文为AC0421原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。