Java Reference
In-Depth Information
Für das Ergebnis der Multiplikation wird nun ein neues Objekt erstellt. Die als Operan-
den verwendeten Brüche werden durch die Multiplikationsmethode nicht verändert.
Verwenden Sie final als Modifier, dann sind einige bereits erstellte Methoden der
Klasse Bruch nicht mehr verwendbar und müssen gelöscht oder auskommentiert wer-
den. Es handelt sich dabei um all die Methoden, die nach der Erzeugung und Initialisie-
rung versuchen, die Werte von Zähler oder Nenner zu verändern. Das bedeutet, dass ein
Bruch z. B. nicht mehr gekürzt oder erweitert werden kann. Das kann aber eigentlich
nicht sinnvoll sein.
7
Der Modifier final eignet sich also nur für Attribute, deren Wert tatsächlich nie mehr
verändert werden sollen. Solche Attribute können konstante Werte wie z. B. die Kreis-
zahl Pi oder die Lichtgeschwindigkeit sein.
7.2.2
Datenkapselung
Ein Ausweg aus der oben beschriebenen Misere, dass Sie einerseits Attribute gegen
unerwünschte Änderungen schützen, aber andererseits in bestimmten Situationen
Änderungen zulassen möchten, besteht darin, anstelle des Modifiers final den Modi-
fier private zu verwenden:
class Bruch {
private int zaehler;
private int nenner;
...
Durch den Modifier private ist ein Zugriff (schreibend und lesend) auf die Attribute des
Objekts von außen nicht mehr möglich. Von außen bedeutet, dass innerhalb von
Methoden des Objekts der lesende und schreibende Zugriff uneingeschränkt möglich
ist.
Beim Versuch, mit System.out.println(a.zaehler) von einem Programm aus lesend
auf das Attribut zaehler des Bruchs a zuzugreifen, wird als Fehler angezeigt, dass das
Attribut zaehler nicht sichtbar ist. Die Methoden, die schreibend auf die Attribute
zugreifen ( kuerzen , erweitern etc.) können dagegen wieder verwendet werden. Nach
dem Entfernen der Kommentare werden dort keine Fehler mehr angezeigt.
Den Modifier können Sie nicht nur für Attribute verwenden. Auch Methoden können
Sie in gleicher Weise durch diesen Modifier gegen Nutzung von außen schützen. Diese
Methoden können Sie dann nur noch innerhalb anderer Methoden der Klasse verwen-
den.
Search WWH ::




Custom Search