8.581
Bearbeitungen
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 14: | Zeile 14: | ||
[[Bild:Alligung.png|center|frame|„Alligung“ - Ein Drachen-Hehomon]] | [[Bild:Alligung.png|center|frame|„Alligung“ - Ein Drachen-Hehomon]] | ||
Wir implementieren nun unser erstes ''Hehomon'': Den schrecklichen '''Alligung''' | Wir implementieren nun unser erstes ''Hehomon'': Den schrecklichen '''Alligung'''. | ||
<code>Alligung</code> ''erbt'' von der Klasse <code>Hehomon</code>. Dazu schreibt ihr hinter den Klassennamen <code>extends Hehomon</code>. Das war's schon. | |||
{{Aufgabe:Start}} | |||
Erstellt eine neue Klasse <code>Alligung</code> im Projekt, die von <code>Hehomon</code> erbt. | |||
'''Hinweis:''' Alternativ könnt ihr statt ''Alligung'' auch schon eines eurer eigenen ''Hehomons'' umsetzen. | |||
{{Aufgabe:End}} | |||
Naja, das war's noch nicht ganz. Die Klasse <code>Hehomon</code> erfordert im Konstruktor eine ganze Menge von Parametern (<code>pName</code>, <code>pTyp</code>, <code>pLp</code>, ...), die beim erstellen eines neuen Objekts erwartet werden. | |||
{{Kasten| | |||
'''Zur Erinnerung:''' Der ''Konstruktor'' ist eine spezielle Methode, die beim Erstellen einer neuen Objektinstanz der Klasse ''als erstes'' aufgerufen wird.}} | |||
Wir müssen also im Konstruktor von <code>Alligung</code> dem Konstruktor der ''Oberklasse'' (oder auch ''Superklasse'') die Werte für die Parameter übergeben. Das machen wir mit der speziellen Methode <code>super</code>, die immer als erstes im Konstruktor einer Unterklasse aufgerufen werden muss. | |||
Für <code>Alligung</code> sieht das so aus: | |||
<syntaxhighlight lang="Java"> | |||
public Alligung() { | |||
super("Alligung", "drache", 100, 8, 6, "Alli-BÄMM", "Klauen-Kratzer", "Allez Hopp", "Gator-Aid"); | |||
} | |||
</syntaxhighlight> | |||
{{Aufgabe:Start}} | |||
Ergänzt den Aufruf des Konstruktors der Oberklasse in <code>Alligung</code>. | |||
{{Aufgabe:End}} | |||
Die Klasse <code>Alligung</code> sollte nun so aussehen: | |||
<syntaxhighlight lang="Java"> | |||
public class Alligung extends Hehomon { | |||
public Alligung() { | |||
super("Alligung", "drache", 100, 8, 6, "Alli-BÄMM", "Klauen-Kratzer", "Allez Hopp", "Gator-Aid"); | |||
} | |||
} | |||
</syntaxhighlight> | |||
[[Quelltext:Hehomon.java]] | [[Quelltext:Hehomon.java]] |
Bearbeitungen