为了账号安全,请及时绑定邮箱和手机立即绑定

ArrayList<X> 是聚合还是组合?

ArrayList<X> 是聚合还是组合?

撒科打诨 2022-07-20 16:15:11
我正在准备我的编程考试并遇到了这个问题,我知道在聚合中对象是借用的,而在组合中对象是拥有的。是答案组成吗?是XArrayList<X>的聚合还是X的组合?ArrayList<Point> pts = new ArrayList<Point>();Point p = new Point(0., 0., 0.);pts.add(p);p.setX( 10.0 );System.out.println(p);System.out.println(pts.get(0));
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

由于 Point 在数组之外确实存在,因此它是一个聚合。

https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-aggregation-vs-composition/

就像声明的那样:

聚合意味着子节点可以独立于父节点而存在的关系。示例:班级(父母)和学生(孩子)。删除班级,学生仍然存在。

组合意味着孩子不能独立于父母而存在的关系。示例:房屋(父)和房间(子)。房间不存在独立于房屋。


查看完整回答
反对 回复 2022-07-20
?
杨魅力

TA贡献1811条经验 获得超6个赞

这里

简单规则:

  1. A “拥有” B = 组合:B 在没有 A 的系统中没有任何意义或目的

  2. A “使用” B = Aggregation :B 独立于(概念上)存在于 A

因此,这实际上取决于您的型号。列表中的元素是否可以在没有列表的情况下存在。是否必须将元素放入列表中才有意义?

在 的情况下ArrayList<Point>,我认为这是一个聚合。


查看完整回答
反对 回复 2022-07-20
  • 2 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信