zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Siehe unten.

Nur einige Instanzvariablen verwenden

Die Methode compareTo() hat eine Referenz auf ein anderes Monster-Objekt als Parameter.

class Monster implements Comparable<Monster>
{

  . . .

  public int compareTo(Monster other)
  {

     .... more goes here ...
  }
}

Üblicherweise werden nur einige der Instanzvariablen eines komplexen Objekts von compareTo() verwendet. Angenommen wir möchten, dass die Monster in aufsteigender Reihenfolge der Trefferpunkte (hit points) aufgelistet werden. Monster mit der gleichen Anzahl von Trefferpunkten werden nach aufsteigender Stärke geordnet.

Es ist leicht, das falsch zu verstehen. Was wir wollen ist, dass compareTo(Monster other) einen negativen Wert zurückgibt, wenn das Monster, das die Methode aufruft, kleiner ist als das andere Monster.

Hier ist eine teilweise fertige Methode, die das tut:

  public int compareTo(Monster other)
  {
    int hitDifference =
      getHitPoints() - other.getHitPoints();

    if ()
      return hitDifference;

    else
      return ;

  }

FRAGE 22:

Wir füllen die Lücken aus.

zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite