Du hast eine neue → Klasse AllesKoennerHamster erstellt. Das Schlüsselwort extends Hamster charakterisiert die Klasse als "Erben", der Klasse Hamster.
Jede von AllesKoennerHamster abgeleitete Klasse kennt auch die Methoden und Attribute dieser Klasse.
Aufgabe:


class AllesKoennerHamster extends Hamster
{
AllesKoennerHamster(int reihe, int spalte, int blickrichtung, int koerner)
{
this.init(reihe, spalte, blickrichtung, koerner);
}
}
StaffelHamster(int reihe, int spalte, int blickrichtung, int koerner)
{
super(3, 0, Hamster.OST, 0);
}
StaffelHamster laeufer;
this.laeufer = new StaffelHamster(this.getReihe(), this.getSpalte(), Hamster.OST, 0);
this.laeufer.schritteVor(anzahlSchritte);

Aufgabe:

Eventuell sind nicht alle acht Hamster sichtbar, weil sie sich gegenseitig verdecken!
NachwuchsHamster nachwuchs;
NachwuchsHamster(int reihe, int spalte, int blickrichtung, int koerner)
{
// Aufruf der uebergeordneten Klasse AllesKoennerHamster
super(reihe, spalte, blickrichtung, 0);
}
final static int ANZAHL_HAMSTER = 8;
void lauf()
{
this.geheZuKachel(this.zufallsZahl(. . .), . . .);
if (Territorium.getAnzahlHamster(this.getReihe(), this.getSpalte()) > 1)
{
this.nachwuchs = new NachwuchsHamster(this.getReihe() . . . );
}
this.nachwuchs = null;... und diese auf den Nachwuchs anwenden:
if (this.nachwuchs != null) this.nachwuchs.lauf();
/*
Reihe, Spalte, Blickrichtung wird durch Zufall bestimmt
zufallsZahl(maxZahl) ist eine Methode der Klasse AllesKoennerHamster
maxZahl ist die Anzahl der Reihen Territorium.getAnzahlReihen() - 1 bzw. Spalten
*/
NachwuchsHamster willi = new NachwuchsHamster(NachwuchsHamster.zufallsZahl(Territorium.getAnzahlReihen() - 1) . . .)
while (Hamster.getAnzahlHamster() < NachwuchsHamster.ANZAHL_HAMSTER)
{
. . .
}
