Classes: OO Blumenwiese - JirkaDellOro/EIA2 GitHub Wiki
Refaktorieren Sie Ihre Blumenwiese zu einem objektorientierten Programm. Entwickeln Sie Klassen für die Bienen und die Blumen. 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. Blumen im Hintergrund, sollen nur gezeichnet und deren Abbild mit der Hintergrundgrafik gespeichert werden. Die Objekte der Blumenklassen, die zur Darstellung dienten, sollen nicht gespeichert bleiben. Die Objekte speziell gesetzter Blumen, die später als Nektarspender dienen, sollen dagegen in einem Array erhalten bleiben, so dass sich die Bienen später daran orientieren können. Das Array soll in der Console zur Überprüfung ausgegeben werden.
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.