Zum Inhalt springen

Konstruktor

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 19.10.2026

Der Konstruktor ist die Funktion, die beim Erzeugen eines Objekts läuft und seine Anfangswerte setzt.

Konstruktor

Eine besondere Methode, die beim Erzeugen einer Instanz ausgeführt wird und deren Anfangszustand herstellt.
Beispiel: „Der Konstruktor nimmt Name und Preis entgegen und legt sie am neuen Produkt ab.“

Herkunft: lateinisch construere, zusammenfügen. Dasselbe Wort steckt in Konstruktion.

Was er tut

Er nimmt die Werte entgegen, die eine neue Instanz braucht, und legt sie als Properties ab. Nach MDN wird „der Prozess zum Erstellen einer Instanz … von einer speziellen Funktion namens Konstruktor durchgeführt“.

Er wird nie von Hand aufgerufen. Der Aufruf geschieht beim Erzeugen, und zwar genau einmal je Instanz. Danach ist das Objekt fertig und arbeitet mit seinen Methoden weiter.

Was hineingehört und was nicht

Hinein gehört das Setzen der Anfangswerte und, wo nötig, eine Prüfung, ob die übergebenen Werte brauchbar sind. Ein Produkt mit negativem Preis darf gar nicht erst entstehen; der Konstruktor ist die Stelle, an der sich das verhindern lässt.

Nicht hinein gehört langwierige Arbeit. Ein Konstruktor, der eine Datei liest oder eine Schnittstelle anfragt, macht jedes Erzeugen langsam und schwer prüfbar. Solche Arbeit bekommt eine eigene Methode, die danach aufgerufen wird.

class Produkt {
  constructor(name, preis) {
    if (preis < 0) {
      throw new Error("Preis darf nicht negativ sein");
    }
    this.name = name;
    this.preis = preis;
  }
}

Beim Erben

Erbt eine Klasse von einer anderen, muss ihr Konstruktor zuerst den der Oberklasse aufrufen, bevor er eigene Werte setzt. In JavaScript geschieht das über super; wer es vergisst, bekommt einen Fehler beim Erzeugen.

Siehe auch:

Instanz

Ein einzelnes Objekt, das aus einer Klasse hervorgegangen ist.

#Programmiersprachen

Klassen (Objektorientierung)

Die Vorlage, nach der gleichartige Objekte gebaut werden.

#Programmiersprachen

Property (Objekteigenschaft)

Ein benanntes Datenfeld an einem Objekt, also das, was es über sich weiß.

#Programmiersprachen

Vererbung (Objektorientierung)

Eine Klasse stammt von einer anderen ab und übernimmt deren Daten und Methoden.

#Programmiersprachen