2. Von objektorientierten Ameisen
2. Von objektorientierten Ameisen
2. Von objektorientierten Ameisen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Aufgabe 1<br />
Testen Sie, ob sich durch die obige Code-Änderung die Situation der Power<strong>Ameisen</strong><br />
verbessert hat. Welche Befehle und Methoden lassen sich denn noch sinnvoll<br />
kombinieren?<br />
public override void Sieht(Zucker zucker)<br />
{<br />
}<br />
Überschreiben was nicht passt<br />
Da die <strong>Ameisen</strong> hungrig sind, müssen wir die obige Methode überschreiben. Die<br />
Sieht()-Methode hat hier im Gegensatz zur Wartet()-Methode einen Parameter<br />
mitgebracht. Es handelt sich um ein Objekt names zucker der Klasse Zucker.<br />
Die Ereignismethode tritt also nur ein, wenn das von der Ameise gesehen Objekt ein<br />
zucker-Objekt ist.<br />
(Üblicherweise werden in .NET Objekte klein und Klassen groß geschrieben).<br />
Ergänzung:<br />
Zwischen den Klammern einer Methode dürfen auch mehrere Parameter stehen.<br />
Sie werden dann per Komma getrennt. Z.B.: Schnarchen(Int Lautstaerke, Int Dauer)<br />
Da die aufrufende Sieht()-Methode gleich auch als Parameter ein konkretes zucker-<br />
Objekt mitbringt, liegt der folgende Befehl nah:<br />
public override void Sieht(Zucker zucker)<br />
{<br />
GeheZuZiel(zucker);<br />
}<br />
Wenn die Ameise schon beladen ist, dann soll sie den Befehl ignorieren. Das<br />
erledigen wir mit einer Verzweigung. Die Befehlsliste hilft, ein hier relevante Feld<br />
(vom Typ bool) zu finden: AktuelleLast. Die IntelliSens zeigt, dass wir auf dem<br />
richtigen Weg sind:<br />
20