SimpleStack
|
Eine ganz einfache Implementierung eines Stacks
durch eine Java Klasse ohne Fehlerüberprüfung, und mit fester maximaler
Größe.
|
|
Compilation:
javac -source 1.7 -encoding iso-8859-1 SimpleStack.java
|
SafeStack
|
Eine Implementierung eines stacks mit Fehlerüberprüfung,
SafeStack
beerbt die Klasse SimpleStack,
definiert aber die
Funktionen neu, die Fehler erzeugen können.
|
|
Compilation:
javac -source 1.7 -encoding iso-8859-1 SafeStack.java
|
| |
AbstractStack
|
Eine abstrakte Klasse AbstractStack für die Beschreibung der
gemeinsamen Eigenschaften aller stacks.
|
|
Compilation:
javac -source 1.7 -encoding iso-8859-1 AbstractStack.java
|
Stack1
Stack2
|
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.7 -encoding iso-8859-1 Stack1.java
javac -source 1.7 -encoding iso-8859-1 Stack2.java
|
| |
StackInterface
|
Ein Interface StackInterface für die Schnittstellendefinition
eines stacks, diese enthält nur abstrakte Funktionen
|
|
Compilation:
javac -source 1.7 -encoding iso-8859-1 StackInterface.java
|
Stack1
Stack2
|
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.7 -encoding iso-8859-1 Stack1.java
javac -source 1.7 -encoding iso-8859-1 Stack2.java
|
| |
--> |
Mehrfachvererbung
und Schnittstellen
|