zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Siehe unten.

Konstruktoren, die innerhalb eines Konstruktors verwendet werden

Dem Konstruktor für Fuhrpark werden alle Information (in seinen Parametern) gegeben, die er braucht, um zwei Autos zu erstellen. Er verwendet dafür den Auto-Konstruktor (zweimal). Die Auto-Objektreferenzen werden sicher in den Instanzvariablen der Fuhrpark-Objekte aufbewahrt.

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) ;
  }

  // Instanzmethoden


}

class FuhrparkTester
{
  public static void main ( String[] args)
  {
    Fuhrpark meineAutos = new Fuhrpark( 1000, 1234, 10, 777, 999, 20 );
  }
}

Üblicherweise würden wir sagen, dass meineAutos ein Fuhrpark-Objekt ist, das aus zwei Auto-Objekten besteht. Aber seien wir vorsichtig: Die Klassendefinition von Fuhrpark enthält nicht die Definition von Auto, und zur Laufzeit enthält der Speicher aus dem ein Fuhrpark-Objekt besteht nicht den Speicher aus dem die zwei Auto-Objekte bestehen.

FRAGE 7:

Wenn ein Fuhrpark-Objekt konstruiert wird, wie viele neue Objekte gibt es?