Lernpfad:Objektorientierte Programmierung mit Java/Der Konstruktor: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
{{Navigation}}
{{Navigation}}
Der ''Konstruktor'' einer Klasse ist eine spezielle {{Pfad|Methoden|Methode}}, die beim {{Pfad|Objekte erstellen|Erstellen einer Objektinstanz}} der Klasse als erstes aufgerufen wird, um den Zustand des Objektes zu initialisieren.
Der ''Konstruktor'' einer Klasse ist eine spezielle {{Pfad|Methoden|Methode}}, die beim {{Pfad|Objekte erstellen|Erstellen einer Objektinstanz}} der Klasse als Erstes aufgerufen wird, um den Zustand des Objektes zu initialisieren.


== Aufbau eines Konstruktors ==
== Aufbau eines Konstruktors ==
Zeile 50: Zeile 50:
}
}
</syntaxhighlight>
</syntaxhighlight>
{{Inhalt/Übersicht}}

Aktuelle Version vom 7. Februar 2022, 23:28 Uhr

Der Konstruktor einer Klasse ist eine spezielle Methode, die beim Erstellen einer Objektinstanz der Klasse als Erstes aufgerufen wird, um den Zustand des Objektes zu initialisieren.

Aufbau eines Konstruktors

Ein Konstruktor ist ähnlich wie andere Methoden aufgebaut, hat aber einige Besonderheiten.

public class Addierer  {
  private int ersterSummand;

  // Konstruktor
  public Addierer( int pErsterSummand ) {
    ersterSummand = pErsterSummand;
  }

  public int addieren( int pZweiterSummand ) {
    return ersterSummand + pZweiterSummand;
  }
}

Zunächst hat ein Konstruktor niemals einen Rückgabewert. Daher wird der Rückgabetyp bei der Deklaration des Konstruktors weggelassen.

Dann darf der Bezeichner nicht frei gewählt werden, sondern muss exakt (auch Groß- und Kleinschreibung) dem Namen der Klasse entsprechen.

Das Beispiel oben zeigt, wie ein Konstruktor für die Klasse Addierer aussehen könnte.

Konstruktoren überladen

Genauso wie Methoden können Konstruktoren überladen werden. Das bedeutet, eine Klasse darf mehrere Konstruktoren enthalten, die sich an der Anzahl und Datentypen der Parameter unterscheiden.

public class Addierer  {
  private int ersterSummand;

  // Konstruktor
  public Addierer( int pErsterSummand ) {
    ersterSummand = pErsterSummand;
  }
  // Zweiter Konstruktor
  public Addierer( int pErsterSummand, int pNochEinSummand ) {
    ersterSummand = pErsterSummand + pNochEinSummand;
  }
  // Dritter Konstruktor
  public Addierer( String pEinString ) {
    ersterSummand = Integer.parseInt(pEinString);
  }

  public int addieren( int pZweiterSummand ) {
    return ersterSummand + pZweiterSummand;
  }
}