05.08.2013 Aufrufe

Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll ... - HSR-Wiki

Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll ... - HSR-Wiki

Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll ... - HSR-Wiki

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Schnittstellen 535<br />

Exception geworfen werden. So muss z.B. verhindert werden, dass das Flugzeug<br />

den Landeanflug einleitet, bevor diesem eine Landebahn zugewiesen wurde.<br />

Schreiben Sie als nächstes die Klasse FlugzeugSimulator. Bei dieser Klasse soll<br />

das zu simulierende Flugzeug über eine Methode angemeldet werden. Zusätzlich<br />

erhält die Klasse FlugzeugSimulator eine Methode aktualisiereStatus(),<br />

welche bei jedem Aufruf die gleichnamige Methode aktualisiereStatus() des<br />

zu simulierenden Flugzeugs aufruft. Beachten Sie dabei, dass der Flugzeugsimulator<br />

derzeit nur ein einziges Flugzeug simulieren soll. Schreiben Sie auch die Klasse<br />

StatusUngueltigException und testen Sie Ihre Änderungen, indem Sie die<br />

Klasse Client anpassen.<br />

Der Flugzeugsimulator soll nun zusätzlich bei Statusänderung des simulierten Flugzeuges<br />

angemeldete Interessenten über die Statusänderung benachrichtigen. Ein<br />

solches Konzept wurde schon in Kapitel 14.2 vorgestellt und soll nun in ähnlicher<br />

Form implementiert werden. Ein Interessent – also Nachrichtenempfänger – muss<br />

folgendes Interface implementieren:<br />

public interface FlugzeugListener<br />

{<br />

public void meldeStatusAenderung (Flugzeug flugzeug);<br />

}<br />

Um Benachrichtigungen zu empfangen, muss sich der Nachrichtenempfänger bei<br />

dem Flugzeugsimulator anmelden. Das Anmelden geschieht über die folgende<br />

Methode:<br />

public void setFlugzeugListener (FlugzeugListener flugzeugListener)<br />

{<br />

this.flugzeugListener = flugzeugListener;<br />

}<br />

Schreiben Sie eine Klasse, welche die Schnittstelle FlugzeugListener implementiert<br />

und bei jeder Statusänderung die Methode print() der Klasse Flugzeug<br />

aufruft. Melden Sie diese Klasse beim Flugzeugsimulator an und testen Sie Ihre<br />

Anwendung.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!