18.4 Information Hiding (Kapselung)
 
  Information Hiding verlangt, dass eine Klasse selbst entscheidet,
  • wer auf seine Attribute lesend und schreibend zugreifen darf und
  • auf welche Weise lesend bzw. schreibend zugegriffen werden darf.

Man spricht auch davon, dass eine Klasse seine Attribute kapselt. Die Zugriffsrechte auf die Methoden lassen sich, wie wir noch sehen werden, ebenfalls einschränken.

Kapselung bildhaft dargestellt
Zugriff


public-private

Daten, also die Attribute sind geschützt. Nur mit genau spezifizierten Methoden (im Bild Operationen genannt) können andere Objekte darauf zugreifen. Man schafft dies dadurch, dass man die Attribute vor direktem lesendem und schreibenden Zugriff von Außen abschottet. Man deklariert sie  private. Falls man einen lesenden Zugriff auf ein Attribut 'a' vom Typ 'A' erlauben will, geschieht üblicherweise mit der Methode geta() die ein Ergebnis vom Typ A zurückgibt. Damit von Außen auf diese Methode zugegriffen werden kann, schreiben wir vor ihrem Namen den Modifizierer public. Entsprechendes gilt für den schreibenden Zugriff, der über eine Methode seta() organisiert wird.

private A a;
...
public A geta() {
  return a;
}

public void seta(A a)
  this.a = a;
}

Um Verwechslungen zwischen dem übergebenen und damit in der Methode seta() lokalen  Variablen a und der Variablen a der Klasse zu vermeiden, kennzeichnet man die zur (dieser) Klasse gehörende a durch this.a. Würde dieser Unterscheidung nicht vorgenommen, würde der Compiler das Übersetzen verweigern. Wir schauen uns das bei einer neuen Version von Punkt genauer an.

 

zur Startseite
www.pohlig.de (C) MPohlig 2004