当一个类将另一个类的类型作为属性时,这是一种什么样的关系 - 关联或聚合?
e.g。
一个持有一种City类作为名为Destination的属性的Flight类 - 这是一个关联或聚合吗?在任何一种情况下,他们的关系名称是什么?飞行 - “到达”城市?
另一种情况:
一个FlightBooking类,它将一种类型的BusinessClass类作为一个属性来显示它是一个商务类的flightbooking - 是这种关联还是聚合?
谢谢!
答案 0 :(得分:4)
持有一种城市类型的飞行课程 class作为一个叫做的属性 目的地 - 这是一个协会 还是聚合?
这取决于您希望在程序中获得什么样的行为,但在大多数情况下,它应该是一种关联。当您删除Flight对象(在内存中,在数据库中等)时,您不希望删除目标城市数据,或者是否?作为一般经验法则:只要您希望A和B的生命周期相同,就在A中使用B的聚合;每当生命周期应该解耦时使用关联。
答案 1 :(得分:0)
想想术语 - 关联更为通用。有意义的是,对于“将一类City类作为一个名为Destination的属性的Flight类” - 这是一个关联。