i

Interface

Veränderte Anforderungen

Die Anforderungen an das Spiel werden folgendermaßen erweitert und geändert:

  • Es soll nun auch Erdbeeren geben, die gegessen werden können.
  • Erbeeren geben mehr Punkte je älter sie sind, da sie dann größer werden. (Sie müssen dabei nicht unbedingt grafisch größer werden). Ab einem bestimmten Alter ist eine Erdbeere nicht mehr gut und verschwindet automatisch.
  • Tiere geben nicht mehr nur einen Punkt, sondern mehrere. Das genaue Verhalten kann für jede Tierart unterschiedlich sein. Beispielsweise kann die Punktzahl mit dem Alter eines Tieres variieren, für ein Tier zufällig aber fest sein, oder die Punktzahl ist für jedes Objekt der Klasse gleich.
  • Der Nährwert aller essbaren Objekte soll über eine Methode getNaehrwert() abgefragt werden können.

Aufgabe 1 - Essbar

Ergänze die Klasse Erdbeere im Klassendiagramm. Da eine Erdbeere nicht beweglich ist, macht es Sinn diese als Unterklasse von Actor zu definieren. Um alle essbaren Objekte zusammenzufassen, macht es Sinn eine Klasse Essbar einzuführen. Ordne die Klasse Essbar, in der die Methode getNaehrwert() definiert ist, in Dein Klassendiagramm ein. Welches Problem ergibt sich?

Interface

Um das Problem, das sich hier ergibt, zu lösen, kannst Du ein Interface nutzen. Was Interfaces sind und wie man diese nutzt, kannst Du auf der Seite Fachkonzept - Interface lesen.

Aufgabe 2 - Interface Essbar

Erweitere Dein Klassendiagramm um ein Interface Essbar mit der Methode getNaehrwert(). Ergänze außerdem die Klasse Erdbeere, die Essbar implementiert.

Aufgabe 3 - Implementierung

Ergänze die Implementierung und passe sie an. Du wirst dabei auf Probleme stoßen, die Du mit Typecasts und dem instanceof-Operator lösen kannst. Was es damit auf sich hat, kannst Du im Abschnitt Fachkonzept - Typumwandlung nachlesen.

Aufgabe 4 - Eigene Ideen

Mit dem nun vorhandenen Wissen kannst Du Dein Spiel flexibel erweitern und Deine eigene Variante des Spiels erstellen. Ideen dazu sind:

  • Weitere Tierarten, die evtl. nicht essbar sind.
  • Weitere Gegner außer den Tierschützern. Die Gegner könnten z.B. gefährliche Tiere sein.
  • ...

Sei kreativ und entwickle Deine eigene Variante des Spiels.

Suche

v
7.1.4.3.5
dev.inf-schule.de/oop/java/experten/vererbung/interface
dev.inf-schule.de/7.1.4.3.5
dev.inf-schule.de/@/page/EFBMmdYhMflYKatN

Rückmeldung geben