数组的Java类图组合/聚合

数组的Java类图组合/聚合,java,composition,aggregation,class-diagram,Java,Composition,Aggregation,Class Diagram,考虑以下几点: class A {} class B { private A[] a; } 如何在类图上表示A和B之间的关系?如果B只包含一个a(与数组相反),我会使用合成/聚合,但在这种情况下,我不确定应该做什么。非常感谢您的帮助 更改数组的单个引用不会更改组合的含义 它仍然是一个组合 通过组合您是指某类A由另一类B的单个实例(一对一映射)或实例列表(一对多映射)组成谢谢您的回答。在我上面的例子中,标记代表此合成的箭头的约定是什么?B(1)-->(*)A。。因为它是一对多映射,所以

考虑以下几点:

class A {}

class B {
    private A[] a;
}

如何在类图上表示
A
B
之间的关系?如果
B
只包含一个
a
(与数组相反),我会使用合成/聚合,但在这种情况下,我不确定应该做什么。非常感谢您的帮助

更改数组的单个引用不会更改组合的含义

它仍然是一个
组合


通过
组合
您是指某类A由另一类B的单个实例(一对一映射)或实例列表(一对多映射)组成

谢谢您的回答。在我上面的例子中,标记代表此合成的箭头的约定是什么?
B(1)-->(*)A
。。因为它是一对多映射,所以在组合类(B)上需要有1,在组合类(a)上需要有a*。我同意给定的答案,如果B和a之间的关系是组合(a是B的一部分),那么将a更改为数组不会改变这一点。然而,你的例子并不能向我证明你首先有作文。需要更多的上下文。A类=眼睛B类=人-显然眼睛是人的一部分,所以是的,这是构成。A类=宠物。一个人可能有两只宠物,但它们不是这个人的一部分。我只是指出,你可能有一个更普遍的一对多关系,而不是组合。