Brauche dringend Hilfe bei der Hausaufgabe :/

annawinter

Mitglied
Hey Leute, ich bin am verzweifeln.. :noe:
Ich sitz den ganzen Tag schon an einer Hausaufgabe und komm einfach nicht voran, deshalb versuch ich´s jetzt mal hier :shock:
Das Problem ist dass ich die Aufgabe bis morgen Nachmittag haben MUSS.. je mehr ich darüber nachdenke und nicht weiterkomme desto mehr gerate ich in Panik :shock:
Bitte bitte bitte kann mir jemand helfen, ich wäre euch unfassbar dankbar :)
Hier ist die Aufgabenstellung als Text:

Fur einen Zoo soll ein Programm zur Verwaltung der Tiere erstellt werden. Dazu mussen die Tiere in eine
geeignete Klassenhierarchie eingeordnet werden. Implementieren Sie die Klassen mit den Attributen und
den Methoden.
-Folgende Tiere sind vorzusehen: Schmetterlinge, Mausebussarde, Lowen, Hasen, Haie, Karpfen, Wölfe
-Folgende Attribute sollen nur, wo sinnvoll, vorgesehen werden: posx x-Position des Tiere im Graphikfenster, posy y-Position des Tiere im Graphikfenster, Flugelspannweite (im m), Gewicht (in kg), Lufttemperatur (GradCelsius), Käfi ggroesse (in m**3), Aquariumgroesse (in m**3)
-Folgende Methoden sollen fur die Tiere (alle) implementiert sein - setzen Sie Polymorphie geeignet ein:
 paint(), fortbewegung(), verstandigung (), lieblingsbeutetier()

Implementieren Sie fur alle Tiere einen Konstruktor in dem Sie fur jedes Attribut per Parameter einen Wert
zum Instanziieren ubergeben.
Die Paint - Methode zeichnet das Tier an der Position (posx,posy) in das Graphikfenster (der jsTools.Graph).
Das Tier konnen Sie durch Symbole darstellen, oder ein jpeg Bild (jsTools.Graph.addPicture(...) verwenden.
Der Aufruf der anderen Methoden soll jeweils einen Satz ausgeben, der die Tierart (Klasse) und die Tatigkeit,
die der Methode entspricht, enthalt. Ubt das Tier die entsprechende Tatigkeit nicht aus, soll ein
Standardtext ausgegeben werden, der darauf hinweist, dass diese Tatigkeit nicht ausgeübt wird. (z.B.
Schmetterling, Methode lieblingsbeutetier() : Ich bin ein Schmetterling und habe kein Beutetier).
Verwenden Sie Vererbung und Polymorphie. Fuhren Sie geeignete Hilfsklassen ein, damit jede Variable nur
einmal im Programm de niert wird und keine identischen Methoden programmiert werden.
Damit Sie Polymorphie einsetzen konnen, muss jede Methode in der obersten Klassen Ihrer Tier-Hierarchie
implementiert sein.

Danke im Voraus, Anna :)
 

Saheeda

Top Contributor
Fang doch erstmal mit der Hierarchie und der Zuordnung der Attribute an. Hat ein Löwe eine Flügelspannweite? Und so gehst du nach und nach alle durch.
 

annawinter

Mitglied
Danke für die sehr schnelle Antwort ;) Die Logik ist mir irgendwie schon bekannt aber ich weiß halt leider nicht wirklich wie ich das anwenden muss.. :d
 

Saheeda

Top Contributor
Du erstellst zuerst eine abstrakte Oberklasse, z.B. Tier. Dort legst du die paint-Methode an. Alle anderen sollten Methoden sollten abstrakt sein.

Abstracte Klassen lassen sich nicht instanzieren, d.h. du kannst kein Objekt davon erstellen. Ein Objekt "Tier" wäre sinnlos, du möchtest es genauer haben, deswegen abstrakt.
Indem die Methoden abstrakt gemacht werden, "zwingst" du die Kindklassen, irgendein Verhalten zu implementieren, um sie nutzen zu können. Da jedes Tier für fortbewegung(), verständigung () und lieblingsbeutetier() ein anderes Verhalten zeigt, lohnt es sich auch nicht, in der Tierklasse irgendwas zu definieren und es später zu überschreiben.
Nur paint() kann gleich sein. Denn gezeichnet werden können alle.

Als nächstes würde ich mir überlegen, wie ich die Tiere an sich nochmal gruppieren kann, was ich weiter oben schon gesagt habe, und wie ich die Eigenschaften am sinnvollsten verteile.


Schreib das erstmal.

Ich helfe dir gern, wenn du nicht weiter weißt, aber von dir muss auch bisschen was kommen.
 

Neue Themen


Oben