Java Reference
In-Depth Information
mit
private
geschützten Attribut zuweist. Man nennt eine solche Methode
Setter-
Methode
oder einfach
Setter
. Als Bezeichner verwendet man üblicherweise
setAttri-
butname
.
Folgendermaßen sieht das für einen Setter des Attributs
zaehler
der Klasse
Bruch
aus:
private int zaehler;
private int nenner;
void setZaehler(int z)
{
7
zaehler = z;
}
...
Listing 7.4
Setter-Methode für den Zähler
Mit diesen Methoden hat der Programmierer detaillierte Möglichkeiten, festzulegen,
wie der Zugriff auf Attribute von außen erfolgt.
Jetzt stellt sich die Frage, welche Vorteile es bringt, die Attribute zuerst über den Modi-
fier
private
zu schützen und anschließend mit Getter und Setter den Zugriff wieder frei-
zugeben. Folgende Vorteile sprechen für den Mehraufwand:
In einer Setter-Methode kann bei jeder Änderung eines Attributs geprüft werden, ob
der Wert überhaupt zulässig ist. In unserer Klasse
Bruch
z. B. ist der Wert 0 für den
Nenner nicht zulässig. Ist dieses Attribut frei zugänglich, lässt sich nicht verhindern,
dass in einer Anwendung, die die Klasse
Bruch
verwendet, dieser ungültige Wert
zugewiesen wird.
Die Fehlersuche wird durch die Verwendung von
private
-Attributen zusammen mit
Setter-Methoden deutlich vereinfacht. Soll der Zustand von Objekten überwacht
werden, dann ist jede Änderung von Interesse. In diesem Fall ist ein Setter eine ein-
deutig zu identifizierende Position, an der Sie Kontrollausgaben platzieren können.
Ansonsten müsste das gesamte Anwendungsprogramm nach schreibenden Zugrif-
fen abgesucht werden.
Es ist möglich, intern andere Strukturen zu verwenden, als sie nach außen hin sicht-
bar erscheinen. In unserem Beispiel, der Klasse
Bruch
, könnte der Wert des Bruchs
intern in einem einzigen Wert als
double
(0,75 statt ¾) gespeichert werden. Für den
Zugriff von außen könnte man dennoch nur die beiden Getter
getZaehler
und
get-
Nenner
zur Verfügung stellen, die beide beim Aufruf aus dem Wert den Zähler bzw.
den Nenner berechnen und als
Integer
zurückliefern.