Skip to content

L10.1_OldMacDonaldsHeritage

Jirka Dell'Oro-Friedl edited this page Sep 27, 2024 · 3 revisions

Aufgabe

Alle Tiere auf Old MacDonald's Farm sind... Tiere. Du hast also schon die Klasse Animal. Alle Tiere sind daher prinzipiell gleich und unterscheiden sich nur durch die Werte ihrer Eigenschaften. Tatsächlich aber gibt es durchaus Spezialisierungen. Die Kuh gibt Milch aber fängt keine Mäuse wie die Katze. Überlege dir für jede Tierart, welche Spezialfähigkeiten und Eigenschaften sie hat und plane damit Subklassen von Animal. Nutze nun diese Subklassen um die Tiere zu erzeugen und lasse vom Hauptprogramm aus zusätzlich eine Methode "doSpecialAction" aufrufen, die ausgibt, was das entsprechende Tier an diesem Tag besonderes gemacht hat. Die Methode soll dabei als so speziell betrachtet werden, dass sie in jeder Tierklasse speziell implementiert sein muss.

Alle Tiere sollen nun in einem einzigen Array gehalten werden, so dass das Hauptprogramm darüber einfach iterieren kann und so die Tiere zum Fressen, Singen, Ausführen der Spezialaktion aufrufen kann.

Clone this wiki locally