Schnittstelle des ADT Keller:
empty | : | Keller | boolean | liefert true, falls Keller leer ist, false sonst | |
push | : | Keller Objekt | Keller | legt Element auf Keller | |
top | : | Keller | Objekt | liefert oberstes Element | |
pop | : | Keller | Keller | entfernt oberstes Element | |
Semantik der Kelleroperationen (LIFO: Last in, first out):
Source: Keller.java JavaDoc: Keller.html
Implementation eines Kellers mit Verweisen
Implementation eines Kellers mit einem Array (LIFO: Last in, first out)
Source: VerweisKeller.java JavaDoc: VerweisKeller.html Die folgenden beiden Beispiele zeigen, dass zum Speichern von Werten aus primitiven Datentypen zunächst das Verpacken der Werte mithilfe der bereits erwähnten Wrapperklassen erforderlich ist. So wird durch den Konstruktor new Integer(i) ein Integer-Objekt erzeugt mit dem (nicht mehr veränderbaren) Wert i. Der Wert dieses Objekts kann über die Methode intValue() ermittelt werden.
Source: Reverse.java JavaDoc: Reverse.html Applet: Source: Klammer.java JavaDoc: Klammer.html Applet: Um die Lesbarkeit der Programme zu erhöhen, soll nun das Einpacken und Auspacken der Wrapper-Klassen-Objekte gekapselt werden. Hierzu leiten wir vom VerweisKeller eine Klasse CharKeller ab, die über spezielle Methoden zum Ablegen und Holen von Zeichen verfügt.
Source: CharKeller.java JavaDoc: CharKeller.html
Source: Postfix.java JavaDoc: Postfix.html Applet: