類可見性是對象設計的重要組成部分。我還沒有看到任何示例圖在多個UML書籍中顯示非公共類,也沒有看到在Enterprise Architect中顯示類可見性的方法以及其他工具。 Enterprise Architect和其他工具允許您在元模型中設置類的可見性,但我還沒有看到在圖表中顯示的方法。可以在UML類圖上顯示類的可見性嗎?
回答
在Eclipse中,您可以看到圖標。我的意思是你有一個綠色的班級圖標,如果是私人的,那麼一個p就放在最上面。 如果選擇該選項,該圖標在類圖中也可見。 希望得到這個幫助。
UML支持以編程語言無關的方式提供可見性,無論是在元模型還是代表中。
有一個名爲VisibilityKind的枚舉在各個地方使用(請參閱UML 2.3 superstructure spec第7.3.5.5節p142)。
在類圖上有多種方式來說明可見性。最常見的是用' - '代表私人特徵,用'+'代表公開。例如:關於多個示例the spec P52
----------------------------
| Class |
|--------------------------|
| +publicAttribute: Type |
| -privateAttribute: Type |
|--------------------------|
| +publicMethod() |
| -privateMethod() |
----------------------------
參見圖7.28/7.29。
hth。
你的答案屬於類成員可見性,而不是類本身的可見性。 –
@BjörnPollex可視性與某個範圍有關,沒有範圍可視性沒有意義。類實例可以是另一個類實例的成員,在這種情況下,它的可見性可以像在這個答案中看到的一樣。 – SomeWittyUsername
我只是看着它在UML 2.4.1基礎設施。在圖10.3頁。 95你看到類被定義爲一個類型,它是一個元素的NamedElement。使用可見性包,NamedElement具有第9.21.1頁中定義的可見性。 88,如果它屬於一個命名空間。所以如果你有可見性,Class就具有可見性。您可以使用+ - #和〜(第89頁)的常用符號。
VisualParadigm可以做到這一點。
按照UML規範2.5版的β2不僅NamedElement而且PackageableElement具有類型的屬性能見度VisibilityKind
從P48:
PackageableElement [抽象類]
.. [剪斷] ..
屬性
- visibility:VisibilityKind [0..1] = public如果一個PackageableElement由一個名稱空間擁有,則它必須具有指定的可見性。默認可見度是公開的。
約束
- namespace_needs_visibility 一個PackageableElement一個命名空間擁有一定要有知名度。 INV:知名度= null表示命名空間= NULL
我還沒有找到這種可見的任何符號指引然而
如果你有成見定義的類(比如< <類> >)然後可以將形狀腳本分配給原型。如果您只指定的裝飾,這應該使用默認繪製的一類,並添加裝飾,它可以基於類的作用域屬性是有條件的:
decoration X
{
if(hasproperty("scope","public"))
print("P");
}
這將打印在P的頂公共課的左角。但是,您可以同樣有一個圖標。
不幸的是,我找不到一種將形狀腳本分配給默認的非定型類的方法。任何人都知道如何做到這一點?
- 1. 子類可以影響虛擬方法的可見性嗎?
- 2. 可以做一些關於「Item」反射類的可見性嗎?
- 3. 我可以在UML類圖中寫評論嗎?
- 4. UML默認可見性
- 5. IntelliJ UML字段可見性
- 6. 我們可以顯示不同類型的地圖視圖嗎?
- 7. getDefinitionByName()和類的可見性
- 8. 如何在VisualStudio的UML類圖中顯示(反映)「屬性」? (C#)
- 9. 子類對父類定義的屬性是可見的嗎?
- 10. 類圖屬性可見性。公共屬性可以有getter和setter操作?
- 11. 我可以使用Protobuf-net控制生成的類的可見性嗎?
- 12. 抽象類中的屬性可見性
- 13. 降低基類屬性的可見性
- 14. UML序列圖顯示創建子類?
- 15. 按類名顯示/隱藏可見性不是ById
- 16. 在LWJGL中設置顯示可見性
- 17. 在畫布上設置DrawingVisual的可見性(可見,不可見)
- 18. PopupWindow上的View可以顯示PopupMenu嗎?
- 19. 如何在UML類圖上顯示依賴注入?
- 20. CSS屬性:顯示與可見性
- 21. 在開始Java基礎類之前,我可以從UML類開始嗎?
- 22. 如何顯示MyEclipse 10顛倒的UML類圖中的類的屬性?
- 23. 測試類可以有屬性嗎?
- 24. 在iOS中顯示後可以更改鍵盤類型嗎?
- 25. 可可:NSview可以單獨顯示嗎?
- 26. IFrame的可見性和顯示差異
- 27. 我可以在UIView子類上設置標籤屬性嗎?
- 28. C中可見性的系統類型#
- 29. COM類的可見性:C#到VB6
- 30. 內部類的泛型可見性?
我不認爲UML標準提供了可見性的具體表示法,因爲它是一種語言相關的功能。 – Heisenbug
謝謝@Heisenbug。我能夠看到Enterprise Architect軟件包圖上的類可見性。這可能是在此特定工具中查看它的唯一方法。我的下一步是回顧UML規範的相關部分。 –
我相當肯定的是,一個包圖實際上是在Enterprise Architect中查看元素可見性(即範圍)的唯一方法。因爲您已經做過偵探工作,所以我不會將其作爲答案發布,但請您自己考慮這樣做(並且將回答的問題標記爲未來的搜索者)。 – Uffe