Zum Inhalt springen

Klassen (Objektorientierung)

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

Eine Klasse ist die Vorlage, nach der gleichartige Objekte gebaut werden. Sie legt fest, welche Daten ein solches Objekt mitbringt und was sich damit tun lässt.

Klasse

Die Vorlage, nach der gleichartige Objekte gebaut werden. Sie legt fest, welche Daten ein solches Objekt trägt und welche Funktionen darauf arbeiten.
Beispiel: „Die Klasse Produkt beschreibt einmal, was jedes Produkt im Shop mitbringt.“

Abgrenzung zum Objekt: Die Klasse ist die Vorlage, das Objekt das fertige Stück daraus. Von einer Klasse entstehen beliebig viele Objekte, und jedes trägt eigene Werte.

Abgrenzung zur CSS-Klasse: Das ist etwas völlig anderes, nämlich ein Haken am HTML-Element, an dem die Gestaltung greift. Siehe Klasse (CSS).

Vorlage und Stück

Eine Klasse steht einmal im Code und beschreibt eine Art von Ding. Daraus entstehen zur Laufzeit beliebig viele Objekte, die dieselbe Form haben und verschiedene Werte tragen. Jedes einzelne davon heißt Instanz dieser Klasse.

Der Vorteil liegt im Einmal-Beschreiben. Steht in der Klasse, wie der Bruttopreis zustande kommt, gilt das für jedes Produkt im Shop. Niemand kann ein Produkt anlegen, bei dem die Rechnung anders läuft.

Links ein Kasten mit der Aufschrift Klasse Produkt, darin die Felder Name, Preis und Bestand sowie die Methode istVerfuegbar. Pfeile führen nach rechts zu drei Kästen, die dieselben Felder tragen, aber mit eingetragenen Werten
Jede Instanz trägt dieselben Felder und eigene Werte.
class Produkt {
  constructor(name, preis, bestand) {
    this.name = name;
    this.preis = preis;
    this.bestand = bestand;
  }

  istVerfuegbar() {
    return this.bestand > 0;
  }
}

const stuhl = new Produkt("Stuhl", 89.0, 4);
stuhl.istVerfuegbar(); // true

Vererbung

Eine Klasse kann von einer anderen abstammen und deren Daten und Funktionen übernehmen. Die abgebende heißt Oberklasse, die übernehmende Unterklasse. Was die Unterklasse anders macht, schreibt sie neu; alles Übrige erbt sie.

Für einen Shop hieße das: Eine Klasse Produkt trägt, was jedes Produkt hat, und eine Klasse Downloadprodukt erbt davon und ersetzt nur die Versandregel. Der Rest steht weiterhin an einer Stelle.

Wo Klassen in einem Website-Projekt auftauchen

Im Browser eher selten. JavaScript kennt Klassen seit ES2015, kommt in der Frontend-Arbeit aber oft ohne aus. Auf dem Server sind sie die Regel: Redaktionssysteme wie TYPO3 und Statamic sind durchgehend in Klassen aufgebaut.

Begegnen wirst du ihnen vor allem in Aufwandsschätzungen. Wenn jemand sagt, eine Erweiterung lasse sich ableiten, meint er Vererbung, und das ist meist die gute Nachricht.

Siehe auch:

Objekte

Eine Einheit aus zusammengehörigen Daten und den Funktionen, die darauf arbeiten.

#Programmiersprachen

Objektorientierte Programmierung (OOP)

Ein Programm nach den Dingen ordnen, um die es geht, statt nach den Arbeitsschritten.

#Programmiersprachen

Funktionen

Ein benannter Abschnitt Code, der sich von anderer Stelle aufrufen lässt.

#Programmiersprachen

JavaScript

Die Programmiersprache, die in jedem Browser mitläuft und einer Seite Verhalten gibt.

#Programmiersprachen