Aufgabe 1 - Delegation anwenden
Ziel
- Sie können Interaktionen zwischen Objekten unter Berücksichtigung des dynamischen Entwurfs umsetzen (Delegation).
Hinweise
- Der Parameter
u
entspricht dem Kreisradius resp. der halben Seitenlänge des Quadrats (s.a. Skizze in der Theorie). - Die lauffähige Lösung ist der Lehrperson zu präsentieren.
Aufträge
- Erstellen Sie die Klassen gemäss Klassendiagramm aber noch ohne Codierung des “Innenlebens“ der Methoden.
- Ergänzen Sie die
get
- undset
-Methoden der Klassen mit dem entsprechenden Code (falls möglich Properties verwenden). - Implementieren Sie die
scale
-Methoden und sorgen Sie dafür, dass der Skalierungsfaktor f an die beteiligten Komponenten “deligiert” wird. - Implementieren Sie die
__str__
-Methoden auf den jeweiligen Klassen, so dass die Ausgabe derjenigen von Abb. 2 entspricht. - Implementieren Sie nun die
main
-Methode gemäss dem gezeigten Sequenzdiagramm. - Führen Sie nun die
main
-Methode aus und kontrollieren Sie, ob die Ausgabe den Erwartungen entspricht.
Abb. 1: Klassendiagramm
Abb. 2: Ausgabe
Abb. 3: Sequenzdiagramm