/** * Copyright (c): Uwe Schmidt, FH Wedel * * You may study, modify and distribute this source code * FOR NON-COMMERCIAL PURPOSES ONLY. * This copyright message has to remain unchanged. * * Note that this document is provided 'as is', * WITHOUT WARRANTY of any kind either expressed or implied. */ /** * * @author Uwe Schmidt * * eine abstrakte Klasse fuer * den ADT stack * * es werden die gemeinsamem Eigenschfaften * aller stack-Implementierungen in einer * abstrakten Klasse zusammengefasst * * es koennen hier auch gemeinsame Funktionen fuer alle * stacks implementiert werden * * Implementierungen koennen diese abstrakte * Klasse beerben, und so ohne physikatisches * Kopieren alle diese Eigenschaften erhalten * */ //-------------------- public abstract class AbstractStack { // keine Datenfelder // keine nicht allgemeingueltigen Funktionsruempfe // keine Konstruktoren //-------------------- public abstract boolean isEmpty(); public abstract Object top(); public abstract void push(Object o); public abstract void pop(); //-------------------- // die Vorbedingungen fuer // pop und top koennen hier // allgemeingueltig implementiert werden //-------------------- public final boolean prePop() { return ! isEmpty(); } public final boolean preTop() { return ! isEmpty(); } } //--------------------