...
Innkapsling består altså av å definere et sett operasjoner for sikker (og indirekte) tilgang til data, istedenfor å gi direkte tilgang til attributter og dermed lekke detaljer om implementasjonsteknikken til andre klasser. For å gjøre innkapslingen tydelig kan en angi i diagrammer den såkalte synligheten til navn, dvs. hvilke som skal være offentlig (kjent) og hvilke som skal være private. De offentlig skal være mulige å bruke (referere til) utenfor klassen og de private umulige. Dette illustreres med henholdsvis grønne og røde punkter eller + og - foran navnene, som vist i figuren under.
PlantUML Macro |
---|
border | 1 |
---|
title | Synlighet angitt med grønn og rød farge |
---|
|
class "Person" as Person1 {
-String givenName
-String familyName
+String getGivenName()
+void setGivenName(String givenName)
+String getFamilyName()
+void setFamilyName(String familyName)
}
|
PlantUML Macro |
---|
border | 1 |
---|
title | Synlighet angitt med symbolene + og - |
---|
|
skinparam classAttributeIconSize 0
class "Person" as Person2 {
-String givenName"
-String familyName
+String getGivenName()
+void setGivenName(String givenName)
+String getFamilyName()
+void setFamilyName(String familyName)
} |
...