                                                      11. Uebungsblatt
______________________________________________________________________
Aufgabe 1 (10 Punkte)

    Definiere eine abstrakte Basisklasse Object.  Von dieser Basisk-
    lasse soll eine weitere abstrakte Basisklasse Collection
    abgeleitet werden, die u.a. Operationen zum Einfuegen und Loeschen
    von Objekten, sowie einen Iterator zur Verfuegung stellt.  Von
    Collection soll dann eine Unterklasse List abgeleitet werden, die
    diese Operationen ueber eine verkettete Liste implementiert.  Des
    weiteren soll von Object eine abstrakte Basisklasse Shape
    abgeleitet werden, von der Unterklassen Circle und Rectangle
    abgeleitet werden.  Zu den Operationen auf Shapes gehoeren center
    (Zurueckliefern der gegenwaertigen Position), recenter (Neues Ein-
    stellen der Position), rotate (Rotieren -- trivial fuer Kreise),
    sowie draw (Zeichnen, hier soll allerdings statt des Aufrufs von
    X-Primitiven einfach nur eine Testausgabe gemacht werden).  Des
    weiteren soll von Shape eine Klasse Graphics abgeleitet werden,
    die null, einen oder mehrere Objekte von Typ Shape enthaelt (dabei
    ist vom Typ List Gebrauch zu machen); die Operationen recenter und
    rotate sollen dabei auf die entsprechenden Operationen der enthal-
    tenen Objekte abgebildet werden.  Fuer diese Klassenhierarchie ist
    ein Testprogramm zu schreiben (mindestens sollte dieses Testpro-
    gramm mehrere Kreise und Quadrate erzeugen, in Objekte vom Typ
    Graphics einordnen, mit letzteren Objekten ein recenter aus-
    fuehren, und durch Aufruf von draw ausprobieren, ob recenter auf
    alle Unterklassen von Shape auch korrekt implementiert ist).

______________________________________________________________________
Abgabe

    Elektronisch[1] am 13.07.1993, 18:00 MEZ.

_________________________

  [1] Der Tutor begutachtet die Files in ~/ueb11.

UNIX-2 SS 93   Bormann et al                                         1


