2008-12-01 170 views
6

我正在嘗試創建代表某些Java代碼的UML圖。代表UML中的重載方法

在一個類中我有一個重載的方法。

據我所知,方法的參數不顯示在UML圖中。

如何在UML中表示方法重載?

謝謝。

+0

你使用什麼工具? – 2008-12-01 00:59:20

回答

2

檢查整個圖表或單個類別/接口的顯示選項。大多數UML工具都有可顯示的選項來顯示方法的參數列表。

3

在子類中,您指定了與您希望覆蓋的方法具有相同簽名的方法,併爲該方法添加一個註釋{redefines}。例如:

+doSomething(p:AThing):int{redefines} 

這意味着doSomething()方法重寫超類中的方法。是的,方法的參數顯示在圖上。如在示例中,p是類型AThing的參數。

+1

+1,但你可能會喜歡糾正{} redifines的拼寫 - > {}重新定義重載 – chimp 2008-12-08 01:44:41

2

你不說你的工具和UML圖(我認爲類圖),但你有2種方式:

  1. 你可以寫有關此方法的說明;
  2. 您可以使用關鍵字原型寫入< < 重載 >>在此方法中;
0

給出某個問題,上面的大多數答案都是正確的。阿萊普西奧,文森特和bmatthews68都有答案,在上下文中有意義。

**如果問題是重複定義的正確定義,重寫具有相同簽名的超類方法。如果重載是因爲您創建了採用不同參數的相同方法,那麼我不相信這是可以在結構上進行建模的,您可以用序列圖來顯示,例如哪些是行爲的,但仍然不是真的。

So + doSomething(p:AThing):int {redefines}是正確的,這正是文森特所說的。

**如果您的問題/問題是,就在參數不直觀顯示在圖表上通常在大多數UML工具的設置最多。

**如果你想讓它更清楚自己在做什麼,然後用一個關鍵字<>,還要注意關鍵詞是不是一個刻板印象,因爲它不是元模型的一部分。

3

當談論過載 - 例如在你的類,你有更多的方法具有相同名稱但不同的簽名(參數,取決於目標語言也許返回值...),你應該提供的簽名。 UML沒有指定你不能有方法參數。