© APSIS GmbH |
Ü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:
publicclass 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).© APSIS GmbH |