25.4 Information Hiding
 
  Information Hiding verlangt, dass die Klasse selbst entscheidet,
  1. wer auf seine Attribute lesend und schreibend zugreifen darf
  2. auf welche Weise lesend und schreibend zugegriffen werden darf.

Man spricht auch davon, dass eine Klasse seine Attribute kapselt. Auch die Zugriffsrechte auf die Methoden lassen sich, wie wir noch sehen werden, 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 zuerst die Attribute vor lesendem und schreibenden Zugriff von Außen abschottet. Man deklariert sie als 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 Verweslungen 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.

 

zu 25.5 Die neue Klasse Punkt
zur Startseite
www.pohlig.de (C) MPohlig 2003