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();
}
}
参考博客: Java组合和聚合的区别和联系 认真看5分钟,完美掌握java组合和聚合关系!