2014-01-06 126 views
0

如果我有一個名爲Location的類和一個名爲Maze的類,它具有一個如下所示的'位置'對象數組的字段,那麼這是一個合成關係,因爲'迷宮'通常具有多於一個'位置'對象?UML符號類關係Java

enter image description here

這是2類之間的正確關係?或者只有在具有另一個類的一個對象時纔是構圖?

也說,如果Maze有一個構造函數這需要Space類型的參數,如:public Maze(Space space){}那麼這將是MazeSpace之間的關係?

回答

2

問一個關於構圖的好問題是「如果父母被摧毀,孩子是否被摧毀」。在組合(而不是聚合)中,生命週期是交織在一起的。在這種情況下,如果迷宮被破壞,所有的位置也應該被銷燬,這顯然是一種構圖關係。

+0

換句話說,'迷宮'**擁有許多'位置'? –

+0

鬆散的是。但是一個人可以「擁有」一本書,但這並不意味着當這個人去世時,這本書也會死去。明智地選擇你的動詞。也許「由......組成」更好。 – Bruce

+0

是箭頭正確的方向? –

0

這是一個構圖和多對一的關係。 Maze有很多Locations