2012-04-19 48 views
5

我有一些內部的私人類,我不確定把它們放在我的班級圖表中。 他們應該在他們的外部班級還是在自己的班級?Private classes and uml

回答

1

UML用於設計或描述複雜的體系結構。我不認爲內部類在UML類圖中提及它很重要。如果你在界面級別上設計你的系統,那麼你的實現以及私有類就會失去焦點,以及所有私有方法。你的圖應該只包含公共方法=接口方法。

2

您可以用containment外部表示它們,在外部類的一側有+標誌。你可以找到它here

0

我不認爲你可以在UML類圖的另一個類中有一個類。你在UML中呈現它們的方式應該反映它們與父類的結構關係。如果它們是爲了方便而創建的,則可以將它們連接起來。如果它們具有遏制或聚合關係,則UML具有適當的語法。在任何情況下,內部類都是特定於語言的,所以UML對它們有任何明確的支持是很奇怪的(事實上是一種錯誤的設計)。

可能相關的外部討論:http://www.coderanch.com/t/99318/patterns/Inner-Class-UML

2

總是有UML語言,無論你使用建模工具之間的差異,所以這是完成一件事情的最好方法取決於工具。

在UML中,類與類成員一樣具有可見性/範圍。換句話說,UML允許私有類,但這並不意味着你的工具可以顯示類的「私密性」。

UML還允許類包含其他類。換句話說,班級可以充當包裹。再次,工具如何顯示這個變化。

從純粹的UML角度來看,我建議讓內部類包含在外部,並標記爲私有。

在圖中,如果您的工具沒有顯示名稱空間,那麼可以調整外部類的大小並將其放在內部。如果你的工具允許調整大小,那就是。最後,除非總共只有八個或十個類,否則我會建議在單獨的圖中顯示內部類。