簡體   English   中英

在UML中表示重載的方法

[英]Representing overloaded methods in UML

我試圖創建一個代表一些Java代碼的UML圖。

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

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

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

謝謝。

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

在子類中,您指定具有與要覆蓋的方法相同的簽名的方法,並向該方法添加注釋{redefines}。 例如:

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

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

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

你沒有說你的工具和UML圖(我認為是類圖),但你有兩種方法:

  1. 你可以寫一個關於這種方法的說明;
  2. 你可以在這個方法中使用關鍵字構造型寫<< overloaded >>;

鑒於某個問題,上面的大部分答案都是正確的。 Alepuzio,Vincent和bmatthews68都有在上下文中有意義的答案。

**如果問題在於覆蓋具有相同簽名的超類方法而不是重新定義是正確的定義。 如果它是重載,你創建了相同的方法,它采用不同的參數,那么我不相信這是可能的結構模型,你可以用序列圖顯示這個例子,這是行為,但仍然不是真的。

所以+ doSomething(p:AThing):int {redefines}是正確的,這是Vincent所說的。

**如果您的問題/問題僅僅是在圖表中沒有直觀顯示的參數,這通常是大多數UML工具中的設置。

**如果你想更清楚地說明你在做什么,那么使用關鍵字<>,同時注意關鍵字不是刻板印象,因為它不是元模型的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM