UML - 关联或聚合关系?

时间:2011-05-22 19:52:10

标签: uml aggregation modeling

当一个类将另一个类的类型作为属性时,这是一种什么样的关系 - 关联或聚合?

e.g。

一个持有一种City类作为名为Destination的属性的Flight类 - 这是一个关联或聚合吗?在任何一种情况下,他们的关系名称是什么?飞行 - “到达”城市?

另一种情况:

一个FlightBooking类,它将一种类型的BusinessClass类作为一个属性来显示它是一个商务类的flightbooking - 是这种关联还是聚合?

谢谢!

2 个答案:

答案 0 :(得分:4)

  

持有一种城市类型的飞行课程   class作为一个叫做的属性   目的地 - 这是一个协会   还是聚合?

这取决于您希望在程序中获得什么样的行为,但在大多数情况下,它应该是一种关联。当您删除Flight对象(在内存中,在数据库中等)时,您不希望删除目标城市数据,或者是否?作为一般经验法则:只要您希望A和B的生命周期相同,就在A中使用B的聚合;每当生命周期应该解耦时使用关联。

答案 1 :(得分:0)

想想术语 - 关联更为通用。有意义的是,对于“将一类City类作为一个名为Destination的属性的Flight类” - 这是一个关联。