Beispiel |
Implementierung eines Stack
mit einer Liste mit Hilfe von
Vererbung
|
| |
List |
die Beispiel-Klasse für Listen.
|
|
Jede Klassenbibliothek für ADTs enthält solche
Klassen, das JDK zum Beispiel die
Klasse Vector
im Paket java.util
|
|
public
class List {
public
List() { }
public
List(Object e) { }
public
boolean isEmpty() { }
public
Object hd() { }
public
Object get(int i) { }
public
int length() { }
public
void tl() { }
public
void append(Object e) { }
public
void prepend(Object e) { }
public
void append(List l2) { }
}
|
| |
|
diese vorgefertigten oder gekauften Klassen bieten
meistens eine breite Schnittstelle mit vielen
Methoden an:
allgemeine Einsetzbarkeit
|
| |
StackInheritsList |
die eigene Klasse für einen Keller
|
|
public
class StackInheritsList
extends List
{
public StackInheritsList() {
super();
}
public
Object top() {
return
hd();
}
public
void pop() {
tl();
}
public
void push(Object e) {
prepend(e);
}
}
|
| |
|
Vererbung ist bequem, nur die noch
nicht vorhandenen
Methoden müssen implementiert werden
|
| |
|
Vererbung verhindert das Verstecken von
Information:
alle öffentlichen Methoden
aus der beerbten Klasse stehen einem
Kunden zur Verfügung
|
| |