我已经看到了一些实现Composition的方法。组合与Aggregation的不同之处在于它是一种与父bean一起生存和死亡的类型。就像在汽车引擎示例中一样,没有引擎就不存在汽车。发动机不能作为参考取出并独立使用。它完全依赖于像Car这样的主类。
因此,方法可以使用final作为类型并在构造函数中实例化组合对象(Car in Car' s构造函数)
public class Car{
final Engine e;
Car(){
e = new Engine();
}
}
或者另一种方式可以使用内部类,比如Engine类作为Car类中的内部类。
public class Car{
Engine e;
class Engine {
//valves, nuts and bolts
}
}
请提供最佳方式? 我经历了几个帖子,但没有一个是特定于组合的java代码的实现,只有聚合代码在那里:
Aggregation, Association and Composition
What is the difference between composition and aggregation?