29.01.2014 Aufrufe

Script Java

Script Java

Script Java

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

8.1 Abstrakte Methoden und Klassen<br />

abstract NumberSystem<br />

abstract toInt()<br />

abstract toString()<br />

abstract ArabicSystem<br />

RomanNumber<br />

toInt()<br />

toString()<br />

toInt()<br />

toString()<br />

HexNumber BinNumber OctNumber DecNumber<br />

Abbildung 8-4: Vererbungshierarchie der "Zahlensystem-Klassen"<br />

Da sämtliche „Zahlensystem-Klassen“ einerseits den als String repräsentierten Zahlenwert,<br />

welcher der Benutzer im GUI eingibt, zu einem Integer-Wert konvertieren und andererseits<br />

für die Ausgabe in der graphischen Benutzeroberfläche einen int Wert als String<br />

darstellen müssen, verfügt die Klasse NumberSystem über die abstrakten Methoden<br />

abstract int toInt(String s);<br />

abstract String toString(int value);<br />

Eine abstrakte Methode verwendet das Schlüsselwort abstract und deklariert<br />

lediglich die Methodenschnittstelle ohne deren Rumpf. Dies macht es möglich, wohl die<br />

Signatur einer Methode zu bestimmen, jedoch ihre Implementation noch offen zu lassen.<br />

Abstrakte Methoden werden an ihre Unterklassen weitervererbt. Im Programmbeispiel erbt<br />

die Klasse ArabicSystem sowie die Klasse RomanNumber von NumberSystem.<br />

Beide Unterklassen implementieren die abstrakten Methoden toInt() und<br />

toString(), wobei sich aber ihre Implementationen aufgrund der unterschiedlichen<br />

Eigenschaften der Klassen voneinander unterscheiden.<br />

Hätte man bereits in der Oberklasse NumberSystem die beiden Methoden implementiert,<br />

müsste man sich für eine der beiden möglichen Implementationen entscheiden und dann<br />

entsprechend in einer der Unterklassen die Methoden redefinieren. In diesem Fall ist also<br />

die Verwendung von abstrakten Methoden ein eleganterer und effizienterer Ansatz.<br />

207

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!