2011-01-24 106 views
28

如何在類圖中指定泛型類或接口?UML類圖和泛型

我找兩件事情真的:

  1. 一個是我怎麼好像我是用的筆和紙做通用的Java類建模。
  2. 其次,那裏的uml工具支持泛型類/接口。

謝謝!

回答

29

通常泛型被表示爲分類器的模板參數。下面是例如,它看起來像在NetBeans UML插件:

enter image description here

2

一個是我如何模擬泛型Java類,如果我用筆和紙做的話。

AFAIK在UML中對此沒有特別的支持,最好的可能是使用像<<generic>>這樣的刻板印象。但在紙上用筆,沒有什麼比寫作MYType<T>更簡單:-)

其次,什麼uml工具支持泛型類/接口。

到目前爲止我所見過的所有UML工具都支持刻板印象。當然,支持水平可能不同;但是,因爲除了餐巾紙之外我幾乎不使用任何UML工具:-)在這裏我沒有太多的比較基礎。

+1

請參閱其他答案。 UML確實對泛型有特定的支持,而不必訴諸陳規。心連心。 – sfinnie 2011-01-24 21:53:07

+0

@sfinnie,謝謝,很高興知道:-) – 2011-01-24 21:55:20

16

UML稱他們爲參數類型定義泛型 - 見的例子here

至於工具,我知道MagicDraw支持他們。

0

在NetBeans中使用的對象稱作「衍生分類」。這是用於MyGeneric的對象來自Vitalii的答案Fedorenko

1

我正在尋找兩件事情:一個是我如何模擬泛型Java類,如果我用筆和紙做它。

克雷格拉爾曼的書應用UML和模式3e有指導幻燈片與書中的數字。從圖15.5以下爲:

enter image description here

其次,什麼UML工具,有支持泛型類/接口。

我喜歡PlantUML,這將從

skinparam style strictuml 
participant sales as "sales:\nArrayList<Sale>" 

enter image description here

produce以下圖像對於類圖,它produces

skinparam style strictuml 
hide empty members 
class "ArrayList<Sale>" as S 
class Store { 
Store() 
} 
Store "1" -> "1" S : "   sales " 

enter image description here

0

一個是我如何建模泛型Java類,如果我用筆和紙做的話。

它是泛化箭頭,基類,如果它是抽象的,應該用斜體表示。也可以用刻板印記。

其次,哪些uml工具支持泛型類/接口。

使用http://staruml.io/。真的很棒的工具,你可以在一個地方管理所有的項目圖。在右上角有對象/圖表樹,因此您可以在不同圖表中使用相同的類(其他對象)。