【发布时间】:2020-04-28 07:29:08
【问题描述】:
我正在阅读Inheritance and Composition (Is-a vs Has-a relationship) in Java 的帖子,我对以下声明感到困惑。
同样值得注意的是,在这种情况下,当且仅当对象不能在另一个 Computer 对象中重用时,包含的 Computer 对象才拥有所包含对象的所有权。如果可以,我们'将使用聚合而不是组合,其中不暗示所有权。
这里是被引用的代码sn-p
public class Computer{
private Processor processor;
private Memory memory;
private SoundCard soundCard;
//... more code
}
在另一个计算机对象中重复使用是什么意思?这是否意味着当我有两个计算机实例时,它们不应该共享这些组合对象(处理器、内存、声卡)?
有人可以举一个例子,在上面的陈述之后使用聚合而不是组合?
【问题讨论】:
标签: oop design-patterns aggregation composition