Annotations

Übungen zu Kapitel 8

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Alle als "`@Model"' gekennzeichneten Klassen sollen automatisch die MyObservable-Klasse als neue Oberklasse bekommen.
  6. 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.