Java中聚合和组合的概念与实现

  • Post author:
  • Post category:java




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组合和聚合关系!



版权声明:本文为AC0421原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。