zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Den vollständigen Konstruktor sehen wir unten.

Vollständiger Konstruktor

import java.util.Scanner;

class Auto
{
  // Instanzvariablen
  double startMeilen;   // Anfangsstand Tachometer
  double endMeilen;     // Endstand Tachometer
  double gallonen;      // verbrauchte Gallonen Benzin
  // Konstruktor
  Auto(  double startTacho, double endTacho, double galls  )
  {
    startMeilen = startTacho;
    endMeilen   = endTacho;
    gallonen    = galls;
  }

  // Instanzmethoden
  double berechneMPG()
  {
    return  ;
  }

}

class MeilenProGallone
{
  public static void main( String[] args )
  {
    Auto auto = new Auto( 300, 400, 2.5 );
    System.out.println( "Meilen pro Gallonen: "
        + auto.berechneMPG() );
  }
}

Konstruktoren können kompliziert werden; aber für die meisten Programme müssen wir nichts anderes tun, als die Werte der Parameter in die Instanzvariablen zu kopieren.

Wir könnten uns fragen, warum wir das tun sollen. Warum nicht einfach die Daten in den Parametern lassen? Dafür gibt es zwei Gründe:

  1. Die Parameter eines Konstruktors können nur von seinen eigenen Anweisungen gesehen werden. Eine Methode wie berechneMPG() kann die Parameter des Konstruktors nicht sehen.
  2. Daten in Parametern sind temporär. Parameter werden verwendet, um Daten zu übermitteln, aber nicht um Daten zu speichern.

Wir stellen uns einen Parameter als einen Papierfetzen mit Informationen vor, der an den Konstruktor übergeben wird. Der Konstruktor muss die Informationen an irgendeine dauerhafte Stelle kopieren, wo sie von den anderen Methoden gesehen werden können.

FRAGE 10:

Wir vervollständigen jetzt die berechneMPG() Methode.