Ergänzende Kapitel Hypertext-Version Lauscher © APSIS GmbH

Übung zu 9.2.7.

Implementierung von Multibehältern als Reihung

Übung: In der Übung zu 4.3.1 haben wir die Klasse Tor kennengelernt, mit der Tore an einem Werksgelände gesteuert werden können. Ihre Spezifikation ist:

public class Tor {
	public Tor(String identifikation);
	public void schliessen() throws GeschlossenAusn;
	public void oeffnen() throws GeoeffnetAusn;
	public boolean geoeffnet();
}

Schreiben Sie nun eine Datenbehälterklasse Tore, die eine im Konstruktorparameter gegebene Anzahl von Tor-Objekten in einer Reihung verwaltet. Sie soll dieselben drei Methoden wie die Tor-Klasse veröffentlichen, jedoch mit je einem int-Parameter, der ein Index des zu manipulierenden Tor-Objekts darstellt. Darüber hinaus soll sie noch eine Methode

public int anzahl();

veröffentlichen, die die Anzahl der verwalteten Tor-Objekte zurückgibt.

Schreiben Sie auch eine Hauptprogramm-Klasse (main) mit zwei globalen Tore-Objekten und einer Prozedur. Diese hat zwei Parameter: ein Tore-Objekt und ein Index. Sie öffnet das entsprechende Tor und schließt es dann wieder. Rufen Sie die Prozedur so oft auf, daß alle Ihrer Tor-Objekten geöffnet und geschlossen werden. Wo Sie die Ausnahmen behandeln (im Hauptprogramm oder in der Prozedur), entscheiden Sie danach, wo sie ausgelöst werden können oder aber auch nicht (am besten mit System.err. println).

Zeichnen Sie die Datenstruktur des Programms (alle Objekte und alle Referenzen, die auf sie zeigen).

Lösung: Tore.java, Zeichnung


Ergänzende Kapitel Hypertext-Version Lauscher © APSIS GmbH