2010-11-05 97 views
0

我在寫一個決策樹類。爲了讓設計儘可能靈活,我想使用包含方法getData():String [*]的自定義「TableDataGetter」接口來獲取決策樹數據。在我的特定實現中,我想使用實現「TableDataGetter」的類「TextTableDataGetter」。在UML類圖中,如何指定類的實際類型?

如果我的理解是正確的,在UML類圖中顯示的方式是使用決策樹類和「TableDataGetter」接口之間的組合關係。

我的問題是,如果在繪製圖的時候,我想指定我想使用「TextTableDataGetter」,我該如何在標準UML中編寫這個?

我想在我的關係圖上儘可能具體,因爲我正在使用UML軟件爲我生成代碼,就像我在集思廣益。我想可以肯定的是,在決策樹類我有我的dataGetter變量聲明爲「TableDataGetter dataGetter =新TextTableDataGetter()」

回答

1

我回答過類似的問題here,下同答案。

聚集和組成都表示「有」關係。兩者的區別在於,構成是指獨佔所有權。例如,一個交易「有一個」交易ID號,而該交易是唯一具有該交易ID號的交易,該交易的ID號是獨家。交易也「有」交易日期,但許多交易也可能具有相同的交易日期。由於交易日期可以在多筆交易中共享,因此不是獨家

當你UML類圖的組合物的關係將與填充在金剛石其中聚合關係將通過未在填充菱形來表示來表示上繪製這兩個關係類型。

alt text

這本書Introduction to Java Programming涵蓋了這個問題的細節。