© APSIS GmbH extern.gif (1249 Byte), Polling, 2000


Stapel

Schnittstelle aus der Bibliothek für das Lehrbuch Programmieren mit Java

Sie wird durch die Klassen StapelGen, StapelPol und StapelListe implementiert.

Dokumentation Programmtext ohne Dokumentation


/*
 * @(#)kapitel9/Stapel.java
 *	Bibliothek für das Lehrbuch in Java
 *	@author Prof. Solymosi, (c): APSIS GmbH
 *	@version 3.0
 *	@date 28. August 2000
*/
package lehrbuch.kapitel9;
/** Schnittstelle für einen LIFO-Behälter
	@see Warteschlange
*/
public interface Stapel {
	/** Trägt ein Element in den Stapel ein.
		@param element const das einzutragende Objekt
		@exception VollAusnahme das Objekt kann nicht mehr eingetragen werden
		@see Stapel#istVoll
	*/ 
	public void eintragen(final Object element) throws VollAusnahme;
		// requires !istVoll(); ensures !istLeer() & lesen() == element
	/** Liefert das älteste Element im Stapel.
		const
		@return das älteste Element im Stapel
		@exception LeerAusnahme es gibt kein Objekt im Stapel
		@see Stapel#istLeer
	*/ 
	public Object lesen() throws LeerAusnahme; // requires !istLeer()
	/** Entfernt das älteste Element aus dem Stapel.
		@exception LeerAusnahme es gibt kein Objekt im Stapel
		@see Stapel#istLeer
	*/ 
	public void entfernen() throws LeerAusnahme; // requires !istLeer(); ensures !istVoll();
	/** Überprüft, ob der Stapel leer ist.
		const
		Wenn false, LeerAusnahme wird nicht ausgelöst.
		@return true wenn der Stapel leer ist
		@see Stapel#lesen
		@see Stapel#entfernen
	*/
	public boolean istLeer();
	/** Überprüft, ob der Stapel voll ist.
		const
		Wenn false, VollAusnahme wird nicht ausgelöst.
		@return true wenn der Stapel voll ist
		@see StapelPol#eintragen
	*/
	public boolean istVoll();
	// public void kopieren(final Stapel quelle) throws VollAusnahme; 
		// ensures istGleich(quelle);
	// public boolean istGleich(final Stapel stapel); // const
	// public void speichern(String dateiname) throws DateiAusnahme; // const
	// public void laden(final String dateiname) throws DateiAusnahme;
	// Anstelle des Iterators diesmal:
	// public void allesEntleeren(String rueckruf); // ruft rueckruf für alle Elemente auf und löscht diese
}

© APSIS GmbH extern.gif (1249 Byte), Polling, 2000