OOP mit Java: Erweiterbarkeit um Methoden |
Bestehende Klassen können ohne physikalisches Kopieren um Funktionalität erweitert werden. Beispiel: public
class ExtendedStack
extends SimpleStack {
// der Konstruktor
// in diesem einfachen Fall ueberfluessig
public
ExtendedStack() {
super(); // redundant
}
//--------------------
// die zusaetzliche Funktion
public
int get() {
int i = top();
pop();
return i;
}
}
|
Konstruktoren müssen normalerweise immer in Unterklassen neu
implementiert werden, Ausnahme ist der default-Konstruktor.
|
|
Bevor die Anweisungen eines Konstruktors ausgeführt werden,
werden die Anweisungen eines Konstruktors aus der beerbten Klasse
ausgeführt (Schlüsselwort: super).
|
|
Wenn kein expliziter Aufruf (super(...)) angegeben wird,
werden die Anweisungen des default-Konstruktors der Oberklasse ausgeführt.
|
|
Der Beerbungsprozess kann beliebig oft wiederholt werden.
|
2. Beerbungsschritt public
class ExtendedStack2
extends ExtendedStack {
// die zusaetzliche Funktion
public
Stack swap() {
int e1 = get();
int e2 = get();
push(e1);
push(e2);
return this;
}
}
|
Letzte Änderung: 15.05.2012 | © Prof. Dr. Uwe Schmidt |