In UML-Klassendiagrammen (UML = Unified Modeling Language) definiert die Sichtbarkeit, ob Attribute und Operationen spezieller Klassen von anderen Klassen angezeigt und verwendet werden können.
Die Attribute und Operationen einer Klasse mit öffentlicher Sichtbarkeit können z. B. von anderen Klassen angezeigt und verwendet werden, wohingegen die Attribute und Operationen mit privater Sichtbarkeit nur von der Klasse angezeigt und verwendet werden können, in der sie enthalten sind.
Sie können durch Dekorations- oder Textsymbole die Sichtbarkeitsebene für Attribute und Operationen angeben. Ein an den Namen eines Assoziationsendes angehängtes Textsymbol gibt die Sichtbarkeit für das Assoziationsende an.
In der folgenden Tabelle ist dargestellt, wie die verschiedenen Sichtbarkeitsebenen für Attribute und Operationen mit Sichtbarkeits- oder Textsymbolen in Klassendiagrammen dargestellt werden.
Sichtbarkeitsebene | Symbol für Attribut | Symbol für Operation | Textsymbol | Beschreibung |
---|---|---|---|---|
Privat | ![]() |
![]() |
- | Nur Klassen, die sich im selben Container befinden, können die Klassen anzeigen und verwenden. |
Geschützt | ![]() |
![]() |
# | Nur Klassen, die sich im selben oder einem untergeordneten Container befinden, können die Klassen anzeigen und verwenden. |
Öffentlich | ![]() |
![]() |
+ | Jede Klasse, die den Container anzeigen kann, kann auch die Klassen anzeigen und verwenden. |
Paket | ![]() |
![]() |
~ | Nur Klassen, die sich im selben Paket wie der Container befinden, können die Klassen anzeigen und verwenden. |