组合,聚合,关联,依赖 的区别 (二)

2014-11-24 11:45:06 · 作者: · 浏览: 29
,当房子没有了,房间同样不可能单独存在。

UML图表示的组合关系:

\


Room:


[java]
class Room{
public Room createRoom(){
System.out.println("创建房间");
return new Room() ;
}
}

class Room{
public Room createRoom(){
System.out.println("创建房间");
return new Room() ;
}
}

House:


[java]
class House{
private Room room ;
public House(){
room = new Room() ;
}

public void createHouse(){
room.createRoom() ;

}

}

class House{
private Room room ;
public House(){
room = new Room() ;
}

public void createHouse(){
room.createRoom() ;

}

}
聚合和组合的区别:聚合是个体离开了整体,依然可以存在;

组合是个体和整体不可以分开,个体不能离开整体单独存在。

依赖,关联 和聚合,组合的区别:

依赖,关联 : 类之间的关系是在同一层次上;

聚合,组合: 类之间的关系表现为整体和部分。