【问题标题】:Java class diagram composition / aggregation for arrays数组的Java类图组合/聚合
【发布时间】:2012-09-21 06:43:29
【问题描述】:

考虑以下几点:

class A {}

class B {
    private A[] a;
}

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

【问题讨论】:

  • 我同意给定的答案,即如果 B 和 A 之间的关系是组合(A 是 B 的一部分),那么将 A 更改为数组不会改变这一点。但是,您的示例并没有向我证明您首先具有作文。需要更多上下文。 A 类 = 眼睛 B 类 = 人 - 显然眼睛是人的一部分,所以是的,它是构图。 A 类 = 宠物。一个人可能有两只宠物,但它们不是这个人的一部分。我只是指出你可能有一个更一般的一对多关系,而不是组合。

标签: java composition aggregation class-diagram


【解决方案1】:

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

还是composition..

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

【讨论】:

  • 感谢您的回答。对于上面的示例,标记代表此组合的箭头的约定是什么?
  • B (1)-->(*)A .. 因为它是一对多映射,所以你需要在组合类(B)上有一个 1,在组合类(A)上有一个 *
猜你喜欢
  • 2015-10-31
  • 2011-05-03
  • 2015-03-10
  • 2011-12-26
  • 1970-01-01
  • 2016-06-27
  • 2013-11-05
  • 2023-03-21
  • 1970-01-01
相关资源
最近更新 更多