Sichtbarkeit
Die Sichtbarkeit (visibility) legt fest, wie auf Attribute und Methoden (Operationen) von außerhalb der besitzenden Klasse zugegriffen werden kann. d.h. gleichzeitig wie diese vor dem Zugriff von außen geschützt werden können. (Vgl. Balzert, Heide: Lehrbuch der Objektmodellierung, S. 550)
Die UML unterscheidet folgende Zugriffsbeschränkungen (Sichtbarkeiten):
(Die Symbole vor den Bezeichnungen entsprechen der UML):
- private beschränkt den Zugriff auf die besitzende Klasse und versagt sogar abgeleiteten Klassen den Zugriff
# protected beschränkt den Zugriff ebenfalls auf die besitzende Klasse, erlaubt der unmittelbar abgeleiteten Klasse, welche diese Klasse erbt, ebenfalls den vollen Zugriff
+ public lässt die so deklarierten Attribute und Operationen vollkommen ungeschützt und erlaubt den uneingeschränkten Zugriff von außen.
In der Regel sollten alle Attribute nicht sichtbar sein, d.h. mit als private oder protected deklariert werden. Für die Zugriffe sind dann die jeweiligen Operationen zur Manipulation der Attribute als öffentlich (public) zu bezeichnen.
Die Sichtbarkeit dient zur Wahrung des Geheimnisprinzips und zur Umsetzung der Kapselung.