java - 是数组列表聚合还是组合?
问题描述
我正在准备我的编程考试并遇到了这个问题,我知道在聚合中对象是借用的,而在组合中对象是拥有的。是答案组成吗?
是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));
解决方案
由于 Point 在数组之外确实存在,因此它是一个聚合。
https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-aggregation-vs-composition/
就像声明的那样:
聚合意味着子节点可以独立于父节点而存在的关系。示例:班级(父母)和学生(孩子)。删除班级,学生仍然存在。
组合意味着孩子不能独立于父母而存在的关系。示例:房屋(父)和房间(子)。房间不存在独立于房屋。
推荐阅读
- selenium - 如何为一个测试用例以并行模式执行测试数据级执行
- sql - 分组并难以理解
- scala - 示例简单 IO 类型如何消除“Scala 中的 FP”中的副作用?
- java - Java11中的谓词过滤所有元素
- visual-studio - 初始安装后将工作负载安装到 Visual Studio
- c - 查找从给定开始节点到结束节点的所有可能路径
- django - Django RESTful 框架中的 POST、PUT、DELETE 不起作用
- javascript - 我正在尝试使用 Multer 和猫鼬通过数据存储图像:缓冲区
- php - 使用 Laravel 如何获取某个类别的特定尺寸产品?
- reactjs - 导入的组件不显示