14.12.2012 Aufrufe

2. Von objektorientierten Ameisen

2. Von objektorientierten Ameisen

2. Von objektorientierten Ameisen

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!