Ergänzende Kapitel Hypertext-Version Lauscher © APSIS GmbH

Übung zu 4.3.1.

Implementierung von dynamischen Datenbehältern

Übung: An einem Werksgelände werden die Tore mit Hilfe von Java-Programmen gesteuert. Hierzu wurde die Datenbehälterklasse Tor entwickelt. Ihre Spezifikation ist:

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

Beim Erzeugen eines Tor-Objekts muß eine identifizierende Zeichenkette (z.B. "A34B15#42") angegeben werden, mit deren Hilfe über die Leitung die Verbindung zur Torsteuerung hergestellt wird. Das neu erzeugte Tor-Objekt ist im geöffneten oder geschlossenem Zustand, je nach dem, was die Steuerung meldet.

Auf dem Werksgelände befinden sich auch Doppeltore (mit einem rechten und linken Flügel). Schreiben Sie nun eine (nicht-tolerante) Datenbehälterklasse Doppeltor mit denselben drei Methoden, die aber zwei Tor-Objekte gleichzeitig bedienen. Die Doppeltor-Objekte sollen beide Tore in geschlossenem Zustand erzeugen (try-catch im Konstruktor). Die Methode geoeffnet soll dann true ergeben, wenn beide Tore offen sind (Operator &&).

Schreiben Sie auch eine Hauptprogramm-Klasse mit drei Doppeltor-Objekten und einer Prozedur. Diese öffnet das Doppeltor, das in ihrem Parameter angegeben wurde, und schließt es dann wieder. Rufen Sie die Prozedur mit den drei Doppeltor-Objekten auf.

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

Lösung: Tor.java Doppeltor.java, Zeichnung


Ergänzende Kapitel Hypertext-Version Lauscher © APSIS GmbH