aktuelle.kurse/m226ab/3-Auftraege-Uebungen/A13-Delegation-Interface.md

35 lines
1.4 KiB
Markdown
Raw Normal View History

2021-08-12 23:36:27 +02:00
# "Delegation" -> Erweitern der InterfaceDemo Applikation
Zeitbedarf: 30-60 min
**Erweitern der InterfaceDemo Applikation**
Erweitern sie die Applikation durch eine zusaetzliche Klasse Rectangle (Rechteck).
Sie wissen ja, dass ein Quadrat ein Spezialfall eines Rechtecks ist (alle 4 Steiten sind dann gleich lang).
Man könnte auf die Idee kommen, eine Vererbung (extends) zu machen.
Aber genau das soll jetzt grade nicht passieren. Die Idee ist, dass Sie eine "Delegation" machen.
Dies wird heute mehr als die Vererbung gemacht, weil es flexibler und mächtiger ist.
Das heisst, Sie überarbeiten die Klasse Square so, dass Sie trotzdem noch
die Methode getArea() von Rectangle benutzen können um die Fläche zu berechnen.
(Tip: im Square.java muessen sie eine Membervariable "private Rectangle square"
definieren und diese im Konstruktor initialisieren. Dann koennen sie in getArea()
2021-08-13 01:11:41 +02:00
von Square nur noch square.getArea() aufrufen. Dem sagt man *_Delegation_*)
2021-08-12 23:36:27 +02:00
Bitte geben sie den Code von den beiden Klassen Square.java und Rectangle.java per Upload oder in einem Textfile ab (copy/paste).
Das erleichtert mir das korrigieren. Danke
Delegate pattern
11:56 min, E, YouTube, 2015
2021-08-13 01:11:41 +02:00
https://www.youtube.com/watch?v=Xa04E1upEg0
2021-08-12 23:36:27 +02:00
Replace Inheritance With Delegation
2:25 min, E, YouTube, 2014
2021-08-13 01:11:41 +02:00
https://www.youtube.com/watch?v=QBJigWDBlGE
2021-08-12 23:36:27 +02:00
Tutorial - Delegation In Java and Kotlin
12:54 min, E, YouTube, 2017
2021-08-13 01:11:41 +02:00
https://www.youtube.com/watch?v=zfiohSIZtbo