我正在为编程考试做准备,并遇到了这个问题,我知道该对象在聚合时是借来的,在构成上是该对象的拥有。答案组成了吗?
ArrayList<X>
是 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));
答案 0 :(得分:0)
由于Point在数组之外确实存在,所以它是一个聚合。
https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-aggregation-vs-composition/
如上所述:
聚集意味着孩子可以存在的关系 独立于父母。示例:班级(父母)和学生 (儿童)。删除班级,学生仍然存在。
组成意味着孩子无法存在的关系 独立于父母。示例:房屋(父母)和房间(孩子)。 房间并不与房屋分开存在。
答案 1 :(得分:0)
来自here:
简单规则:
- A是“所有者” B =组成:没有A,B在系统中没有任何意义或目的。
- A“使用” B =聚合:B与A独立(在概念上)存在
因此,这实际上取决于您的模型。列表中的元素可以不存在列表而存在。是否必须将元素放入列表中才有意义?
对于ArrayList<Point>
,我认为这是一个汇总。