之間的關聯下面是我的問題,一個很簡單的例子:UML:專業類
http://img19.imageshack.us/img19/3575/workertool.png
(我不能在這裏張貼的圖片,因爲我是新用戶)
這兩個類的源代碼如下所示:
public abstract class Worker{
private Tool myTool;
}
public class ABCWorker extends Worker{
public ABCWorker(){
myTool = new ABCTool();
}
public work(){
tool = (ABCTool) myTool;
//use tool to do some work
}
}
如何在UML中正確建模?在我看來,只有三種可能性:
1)我在示例中的做法。然而,這是錯誤的,因爲它表示ABCWorker可以使用任何工具。但是,它只能使用ABCTool。
2)在ABCWorker和ABCTool之間建立第二個關聯。顯然是錯誤的,因爲這意味着ABCWorker使用兩個工具,一個ABCTool和一個通用工具。
3)僅在ABCWorker和ABCTool之間建立一個關聯。也是錯誤的,因爲它省略了Worker和Tool之間的關係。
那麼我該怎麼做呢?
我認爲類圖是更適合我在做什麼。我在討論論文時遇到了這個問題,所以如果這真的不能在類圖中顯示出來,我想我可以放棄我在示例中做的事情,並在文本中說明ABCWorker將始終使用一個ABCTool。 – aheld 2012-03-19 11:07:11
是的,唯一的解決方案是使用評論。但是,這是如果它不使用另一個圖。所以根據這個重要性,創建一個新的圖表,或者只是評論一下。 – squelos 2012-03-19 11:18:15