Vererbung: Seaworld - JirkaDellOro/EIA2 GitHub Wiki
Vorbereitung
(freiwillig, empfohlen)
-
Nehmen Sie den Code aus der Vorlesung und implementieren Sie eine weitere Subklasse von IceCone, welche zwar gleich gezeichnet wird, aber ein anderes Bewebungsmuster beinhaltet. Erzeugen Sie einige Instanzen dieser Klasse zusätzlich im Hauptprogramm und nutzen Sie die Polymorphie zur Verwaltung.
-
Fügen Sie beim Klick auf den Canvas an der Stelle, auf die geklickt wurde, eine neue Instanz einer der drei Klassen hinzu. Die Auswahl der Klasse soll zufällig sein.
Aufgabe
Entwerfen Sie eine Superklasse, von der alle bewegten Objekte ihrer Unterwasserwelt abgeleitet werden können. Refaktorieren Sie die Klassen dieser Objekte derart, dass sie nun sinnvoll Subklassen dieser Superklasse darstellen. Refaktorieren Sie schließlich das Hauptprogramm entsprechend und nutzen Sie dabei die Polymorphie. Alle Objekte sollten nun nur noch in einem Array vom Typ der Superklasse verwaltet werden.
Bei Klick oder Touch in die Unterwasserwelt sollen an der betreffenden Stelle einige Futterflocken entstehen, die langsam zu Boden sinken und dort liegen bleiben.
Verwenden Sie nun außerdem Konstruktoren (mit oder ohne Parameter) zur Initialisierung ihrer Instanzen.
Konzeption
Zeichnen Sie ein vollständiges Klassendiagramm aller ihrer Klassen inklusive Vererbungsrelationen. Erstellen Sie zudem ein Aktivitätsdiagramm für den Klick/Touch und die Bewegungslogik der Futterflocken. Abgabe der Konzeption bis Sonntag den 23.6.
Implementation
Refaktorieren und erweitern Sie Ihren Code syntaktisch korrekt und unter strenger Berücksichtigung der Stilregeln. Implementieren Sie zudem sinnvolle Konstruktoren.
Abgabe
Da am Donnerstag Feiertag ist und darum das Praktikum entfällt, ist die Abgabe der Implementation erst am Sonntag den 30.06.
Ich empfehle Ihnen aber dennoch die Aufgabe bereits diese Woche zu machen sofern es Ihnen möglich ist, damit Sie die Woche darauf mehr Zeit haben, sich um alle anderen Abgabe zu kümmern, besonders im Hinblick auf den Tag der Medien. Und natürlich auch damit Sie mehr Zeit mit der Abschlussaufgabe zusammen mit den Betreuern verbringen können 😉.