用JAVA实现聚合和聚合
区别
在本质上:比如A类中包含B类的一个引用b,当A类的一个对象消亡时,b这个引用所指向的对象也同时消亡,这种情况叫做组合,反之b所指向的对象还会有另外的引用指向它,这种情况叫聚合。
在实际写代码时
组合这样写:A类的构造方法里创建B类的对象
class A{
private b=new B();
....
}
class B{
....
}
聚合这样写:A类的对象在创建时不会立即创建B类的对象,而是等待一个外界的对象传给它
传给它的这个对象不是A类创建的。
class A{
private B;
}
class B{
....
}
UML中
实心菱形表示组合关系,空心菱形表示聚集关系。如图: