zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Das vollständige Programm finden wir unten.

Vollständige Fuhrpark-Klasse

Natürlich werden wir das Programm in unseren Editor kopieren und starten.

class Fuhrpark
{
  // Instanzvariablen
  Auto stadtwagen;
  Auto gelaendewagen;

  // Konstruktor
  Fuhrpark( int start1, int end1, double gal1,
            int start2, int end2, double gal2 )
  {
    stadtwagen     = new Auto( start1, end1, gal1) ;
    gelaendewagen  = new Auto( start2, end2, gal2) ;
  }

  // Instanzmethode
  double berechneMPG()
  {
    double summeMPG;

    summeMPG = stadtwagen.berechneMPG() + gelaendewagen.berechneMPG() ;

    return summeMPG/2.0;
  }
}

class Auto
{
  // Instanzvariablen
  int startMeilen;   // Tacho Anfangsstand Meilen
  int endMeilen;     // Tacho Endstand Meilen
  double gallonen;   // verbrauchte Gallonen

  // Konstruktor
  Auto(  int startTacho, int endTacho, double galls  )
  {
    startMeilen = startTacho ;
    endMeilen   = endTacho ;
    gallonen    = galls ;
  }

  // Instanzmethode
  double berechneMPG()
  {
    return (endMeilen - startMeilen)/gallonen ;
  }

}

class FuhrparkTester
{
  public static void main ( String[] args)
  {
    Fuhrpark meineAutos = new Fuhrpark( 1000, 1234, 10, 777, 999, 20 );
    System.out.println
      ("Fuhrpark durchschnittliche MPG = " + meineAutos.berechneMPG() );
  }
}

Das ist noch kein allzu brauchbares Programm, da es nur mit den speziellen Zahlen arbeitet, die main() im Konstruktor verwendet. Interaktion mit dem Anwender kann hinzugefügt werden, aber lasst es uns einfach halten.

FRAGE 10:

(Rückblick: ) Wir markieren gedanklich alle Instanzvariablen (beider Klassen) im Programm als private. Wird das Programm noch laufen?