这种关系是聚合、组合还是其他?
Is this relationship an aggregation, composition or something else?
假设我有以下关系:
class A {
public:
A(B& _objB);
B& objB;
};
A::A(B& _objB)
: objB(_objB) {}
这似乎不符合我对聚合或组合的 UML 定义的理解。感觉像是一个组合,但在组合中,拥有对象的生命周期应该与父对象相关联。在这种情况下,objB 在 A 创建之前和 A 销毁之后存在。 A不能没有B,B却可以没有A,这就是标准的构成关系的倒转。这会使它成为聚合还是其他什么?
已回答here
,答案是聚合。 a none 拥有 B.
的使用权
假设我有以下关系:
class A {
public:
A(B& _objB);
B& objB;
};
A::A(B& _objB)
: objB(_objB) {}
这似乎不符合我对聚合或组合的 UML 定义的理解。感觉像是一个组合,但在组合中,拥有对象的生命周期应该与父对象相关联。在这种情况下,objB 在 A 创建之前和 A 销毁之后存在。 A不能没有B,B却可以没有A,这就是标准的构成关系的倒转。这会使它成为聚合还是其他什么?
已回答here ,答案是聚合。 a none 拥有 B.
的使用权