|
Eine ganz einfache Implementierung eines Stacks
durch eine Java Klasse ohne Fehlerüberprüfung, und mit fester maximaler
Größe.
|
|
Compilation:
javac -source 1.5 -encoding iso-8859-1 SimpleStack.java
|
|
Eine Implementierung eines stacks mit Fehlerüberprüfung,
SaveStack
beerbt die Klasse SimpleStack,
definiert aber die
Funktionen neu, die Fehler erzeugen können.
|
|
Compilation:
javac -source 1.5 -encoding iso-8859-1 SaveStack.java
|
|
|
|
Eine abstrakte Klasse AbstractStack für die Beschreibung der
gemeinsamen Eigenschaften aller stacks.
|
|
Compilation:
javac -source 1.5 -encoding iso-8859-1 AbstractStack.java
|
|
Zwei Implementierungen,
die beide die abstrakte Klasse beerben
|
|
Stack1 arbeitet wie SimpleStack,
Stack2 mit der JDK Klasse Stack
im Paket java.util.
|
|
Compilation:
javac -source 1.5 -encoding iso-8859-1 Stack1.java
javac -source 1.5 -encoding iso-8859-1 Stack2.java
|
|
|
|
Ein Interface StackInterface für die Schnittstellendefinition
eines stacks, diese enthält nur abstrakte Funktionen
|
|
Compilation:
javac -source 1.5 -encoding iso-8859-1 StackInterface.java
|
|
Eine Klasse Stack1,
die das Interface verwendet, auch die
allgemeingültigen Funktionen müssen hier implementiert werden.
|
|
Die Klasse Stack2
ist eine Unterklasse der Klasse Vector
im Paket java.util.
Dieses wäre bei der abstrakten Klasse AbstractStack nich möglich gewesen,
da Mehrfachvererbung nicht möglich ist.
|
|
Bis auf isEmpty müssen ebenfalls alle Methoden neu implementiert werden.
|
|
Compilation:
javac -source 1.5 -encoding iso-8859-1 Stack1.java
javac -source 1.5 -encoding iso-8859-1 Stack2.java
|
|
|
--> |
Mehrfachvererbung
und Schnittstellen
|