|
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 |