sha*_*Hwk 5 java uml associations composition aggregation
我有点困惑Association, Aggregation and Composition。尽管大量的网站和论坛讨论了这个主题,但在阅读其中一些内容后我变得更加困惑。
我想知道以下是否正确:
1.) 聚合——如果整体被破坏,聚合就会存在。例如, anEngine可以有或没有 a 存在Car。
2.) 组合 - 如果对象被破坏,组合将不存在。例如,Room没有 a 就不可能存在House。
3.) 关联 - 我不确定在什么情况下我们应该使用它。有人可以对此发表评论吗?
当涉及到为聚合、组合和关联编写 Java 代码时
4.)聚合
Class Car {
private Engine engine;
public void setEngine(Engine engine){
this.engine=engine;
}
public Engine getEngine(){
return engine;
}
}
Run Code Online (Sandbox Code Playgroud)
我认为如果是聚合关联,那么就应该accessors and mutators定义。它是否正确 ?
根据我对聚合的定义,我提到如果Car对象被销毁,则Engine可以访问。但是,我在上面的代码中没有看到这种情况发生。如果 Car 对象被销毁,将无法像car.getEngine(). 那么这是怎么发生的呢?
作品
Public House {
private Room room;
Public House (){
room = new Room (int noRooms, String nameOfHouse);
}
}
Run Code Online (Sandbox Code Playgroud)
我认为如果它是 a C0mposition,那么就不应该有任何accessor mutator函数。并且对象Room只能在构造函数内部创建。并且保存该对象的实例方法room必须是Private?我对么 ?
注意:我再次用谷歌搜索,并访问了许多网站/论坛试图消除我的疑虑。许多论坛中都发布了类似的问题,但我对此感到更加困惑。有人可以帮我解答我的疑惑吗?谢谢你!
关联的类型对实现它的方式几乎没有影响。它是聚合还是组合这一事实只是语义上的差异。
如果对象保存在某个数据库中,就会出现差异。在这种情况下,如果从数据库中删除容器对象,则包含的对象也会被删除或不删除,具体取决于关联的类型。
| 归档时间: |
|
| 查看次数: |
13383 次 |
| 最近记录: |