Annotations
Übungen zu Kapitel 8
-
Implementieren Sie eine Software-Ampel nach dem MVC-Prinzip (MVC: Model, View, Controller, s.a.
http://de.wikipedia.org/wiki/MVC).
Kennzeichnen Sie die einzelnen Komponenten durch @Model, @View und @Controller.
-
Immer wenn eine als @Model gekennzeichnete Klasse ihren internen Zustand ändert (sprich: es wurde ein Attribut verändert), soll automatisch eine setChanged()-Methode dieser Klasse aufgerufen werden.
-
Rufen Sie zusätzlich neben setChanged() die notify-Observers()-Methode auf.
Leiten Sie dazu das Model von der Klasse MyObservable ab:
public class MyObservable extends java.util.Observable {
public void setChanged() {
super.setChanged();
}
}
Hintergrund: Damit wird die setChanged()-Methode public -- in der Oberklasse Observable ist sie als
protected deklariert.
-
Das Model soll weder die View noch den Controller kennen und demnach auch keine Methoden dieser Klassen aufrufen.
Deklarieren Sie es als Compiler-Warnung, wenn diese Regel missachtet wird.
-
Alle als "`@Model"' gekennzeichneten Klassen sollen automatisch die MyObservable-Klasse
als neue Oberklasse bekommen.
-
Schreiben Sie einen Rotlicht-Aspekt, der die Zeiten der Ampel-Rotphasen protokolliert.
Verwenden Sie dazu den Annotation-basierten Entwicklungsstil.
hier geht
es zu den Lösungen...
letzte Änderung: 1. September 2005 von Oli B.