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

我正在准备我的编程考试并遇到了这个问题,我知道在聚合中对象是借用的,而在组合中对象是拥有的。是答案组成吗?


是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));


撒科打诨
浏览 183回答 2
2回答

莫回无

由于 Point 在数组之外确实存在,因此它是一个聚合。https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-aggregation-vs-composition/就像声明的那样:聚合意味着子节点可以独立于父节点而存在的关系。示例:班级(父母)和学生(孩子)。删除班级,学生仍然存在。组合意味着孩子不能独立于父母而存在的关系。示例:房屋(父)和房间(子)。房间不存在独立于房屋。

杨魅力

从这里:简单规则:A “拥有” B = 组合:B 在没有 A 的系统中没有任何意义或目的A “使用” B = Aggregation :B 独立于(概念上)存在于 A因此,这实际上取决于您的型号。列表中的元素是否可以在没有列表的情况下存在。是否必须将元素放入列表中才有意义?在 的情况下ArrayList<Point>,我认为这是一个聚合。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java