Home > Informatik > Stufe EF > Lernbausteine

Konstruktoren

Ein Konstruktor ist ein besonderer Programmteil einer Klasse. Er wird automatisch ausgeführt, sobald ein neues Objekt dieser Klasse erzeugt wird. Seine Aufgabe besteht darin, das neue Objekt zu initialisieren.

Hinweis für Lehrende

Konstruktoren werden in Schulbüchern und auch in der Fachliteratur gelegentlich als "spezielle Methoden" bezeichnet. Diese Formulierung ist didaktisch zwar verständlich, fachlich jedoch nicht ganz korrekt. Konstruktoren besitzen beispielsweise keinen Rückgabewert, auch nicht den Rückgabetyp void, und sie werden nicht wie gewöhnliche Methoden aufgerufen, sondern beim Erzeugen eines Objekts automatisch ausgeführt.

Aus Gründen der Vereinfachung wird der Konstruktor in diesem EF-Kurs zunächst dennoch häufig zusammen mit den Methoden behandelt. Ab der Qualifikationsphase bzw. im Hochschulstudium sollte jedoch darauf hingewiesen werden, dass Konstruktoren und Methoden zwei verschiedene Sprachelemente der Programmiersprache Java sind.

Schauen wir uns einmal den Konstruktor der Klasse Circle aus der Folge 2 näher an.

   public Circle()
   {
      diameter = 30;
      xPosition = 20;
      yPosition = 60;
      color = "blue";
      isVisible = false;
   }

Eigentlich ist dieser Code recht leicht zu verstehen. Der Konstruktor weist den fünf Attributen ihre Anfangswerte zu.

Der Durchmesser diameter beispielsweise wird auf den Wert 30 gesetzt; gemeint sind hier 30 Pixel. Das heißt, jedes Objekt der Klasse Circle, das wir mit new Circle() erzeugen, hat zunächst einen Durchmesser von 30 Pixeln. Entsprechend hat jedes neue Circle-Objekt eine X-Position von 20, eine Y-Position von 60, die Farbe Blau und ist nicht sichtbar.

Alle neuen Circle-Objekte haben also nicht nur die gleichen Attribute, sondern sogar die gleichen Attributwerte. Erzeugt man mehrere Circle-Objekte nacheinander und macht sie anschließend sichtbar, so liegen sie zunächst alle an derselben Position. Deshalb sieht man scheinbar nur einen einzigen Kreis.

Wir wollen nun einen Konstruktor schreiben, in dem zwei dieser Circle-Objekte erzeugt werden. Einen solchen Konstruktor benötigen wir zum Beispiel in der Folge 2, und zwar in der Klasse Zeichnung.

   public class Zeichnung
   {
      Circle sonne, mond;

      public Zeichnung()
      {
         sonne = new Circle();
         mond  = new Circle();
      }
      ...
   }

Die Aufgabe dieses Konstruktors besteht zunächst nur darin, die beiden Objekte sonne und mond zu erzeugen. Die beiden Kreise besitzen danach noch ihre Standardgröße, ihre Standardfarbe und ihre ursprüngliche Position. Erst später werden diese Eigenschaften durch geeignete Methoden verändert.

Merke:

Konstruktoren

Ein Konstruktor wird automatisch ausgeführt, sobald ein neues Objekt erzeugt wird. Seine Aufgabe besteht darin, das neue Objekt in einen sinnvollen Anfangszustand zu versetzen.

Konstruktor

Wenn Sie noch mehr über Konstruktoren wissen wollen, können Sie sich die Lexikon-Seite in der Abteilung "Begriffe und Konzepte der Informatik" anschauen, die sich aber eher an sehr fortgeschrittene Schüler(innen) sowie an Studierende im ersten oder zweiten Semester richtet