First page Back Continue Last page Overview Graphics

Sichtbarkeit & Schnittstellen


Notes:

4 Sichtbarkeiten werden in der UML beschrieben:
+ public
- private
~ package
# protected
Hier ist besondere Vorsicht angebracht, denn die unterschiedlichen Programmiersprachen interpretieren diese Begriffe unterschiedlich! Für Java gilt:
public jeder darf das Attribut, die Methode, die Klasse ansprechen oder benützen
private niemand darf das Attribut, die Methode, die Klasse ansprechen oder benützen, es ist nur innerhalb der Klasse sichtbar
protected Alle entlang der Ableitungshierarchie dürfen ein Attribut oder eine Methode benützen. Da bei Java entlang der Ableitungshierarchie das Paket gewechselt werden kann, können das also durchaus auch Pakete von außerhalb des Paketes sein.
package entspricht bei Java der Default-Sicherheit: Nur Klassen aus demselben Paket dürfen Attribute benützen. Auch abgeleitete Klassen haben, wenn sie einem anderen Paket angehören, keinen Zugriff mehr.
Denken Sie beim Ableiten noch an die Faustregel, dass „nichts Abgeleitetes privater sein darf als in der Superklasse“!
Die oben dargestellten Klassen benützen (dargestellt durch die strichlierte Linie) übrigens die Schnittstelle „Speichern“. Da die Schnittstelle ja selbst keine Methodenrümpfe enthält, muss jede Klasse ihre Variante der dort vorkommenden Routinen selbst implementieren. Im Falle des dargestellten Diagrammes reicht es nicht aus, „speichern“ zu erben, sondern die Methode musste zusätzlich überschrieben werden.