![]() ![]() |
![]() |
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![]() |