Classes: OO Skipiste - JirkaDellOro/EIA2 GitHub Wiki

Vorübung
Bringen Sie den auskommentierten Code aus der Vorlesung zum Laufen. Hier werden mehrere Objekte einer Klasse in einem Array verwaltet und innerhalb von Schleifen angesprochen. Dies ist die Vorlage für untenstehende Aufgabe.

Aufgabe
Refaktorieren Sie Ihre Skipiste zu einem objektorientierten Programm. Entwickeln Sie Klassen für die Skifahrer, die Schneeflocken und weitere Objekte. Achten Sie darauf, dass eine Instanz (also ein Objekt) der Klasse auch wirklich nur ein Objekt auf dem Bildschirm beschreibt, und nicht ganze Gruppen. Implementieren Sie die Methoden zum Zeichnen und Bewegen als Objektmethoden in den Klassen. Sie können teilweise leicht Ihre bereits erstellten Methoden in die Klassen verschieben und modifizieren. Achten Sie unbedingt darauf, dass die Parameterlisten jetzt zum größten Teil überflüssig werden, da die Objektmethoden direkt auf die Objekteigenschaften zugreifen können! Es sollen nur Parameter übergeben werden, wenn die entsprechende Information nicht sinnvoll dem Objekt selbst zugeordnet werden kann.

Konzeption
Erstellen Sie für jede Klasse ein kleines Blockdiagramm, in dem Sie den Namen der Klasse, alle erforderlichen Attribute mit Datentypen und die Methoden mit Typ des Rückgabewertes und ggf. der Parameterliste eintragen

Produktion
Implementieren Sie die Klassen in eigenen Dateien und entfernen Sie den nun überflüssigen Code aus dem Hauptprogramm. Hauptprogramm und Klassen sollen zum gleichen Namespace gehören. Die Blumenwiese soll danach auf einer höheren technischen Ebene funktionieren wie zuvor.