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

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
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 ==

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