Zum Inhalt springen

Interface (Programmierung)

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

Ein Interface legt fest, welche Methoden eine Klasse haben muss, und sagt nichts darüber, wie sie sie ausführt.

Interface

Eine Vereinbarung, welche Methoden eine Klasse anbieten muss, ohne festzulegen, wie sie arbeiten.
Beispiel: „Das Interface verlangt eine Methode zum Versenden; ob per Mail oder per SMS, bleibt der Klasse überlassen.“

Auch: Schnittstelle, Vertrag.

Abgrenzung zur API: Beide heißen auf Deutsch Schnittstelle. Das Interface ist ein Sprachmittel innerhalb eines Programms, eine API die Schnittstelle zwischen zwei Systemen.

Der Vertrag ohne Inhalt

Ein Interface nennt Namen und Form der Methoden, mehr nicht. Eine Klasse, die es erfüllt, verpflichtet sich, genau diese Methoden anzubieten. Wie sie das tut, ist ihre Sache.

Der Gewinn liegt im Austauschen. Code, der gegen das Interface geschrieben ist, funktioniert mit jeder Klasse, die es erfüllt. Ein Versandweg lässt sich dann gegen einen anderen tauschen, ohne dass die aufrufende Stelle davon erfährt.

Der Unterschied zur Vererbung

Bei der Vererbung wird Verhalten übernommen, beim Interface nur eine Zusage. Eine Klasse kann von genau einer Oberklasse erben, aber beliebig viele Interfaces erfüllen.

Deshalb gilt die Empfehlung, lieber gegen Interfaces zu schreiben als gegen konkrete Klassen. Das hält die Teile eines Programms auseinander, und genau daran hängt, wie leicht sich später etwas ersetzen lässt.

In JavaScript und TypeScript

JavaScript kennt kein Interface als Sprachmittel. Dort zählt allein, ob ein Objekt die erwarteten Methoden hat; geprüft wird erst beim Aufruf.

TypeScript trägt Interfaces nach und prüft sie beim Übersetzen. Sie verschwinden danach vollständig, weil der ausgelieferte Code wieder reines JavaScript ist.

Siehe auch:

Klassen (Objektorientierung)

Die Vorlage, nach der gleichartige Objekte gebaut werden.

#Programmiersprachen

Vererbung (Objektorientierung)

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

#Programmiersprachen

Methoden

Eine Funktion, die zu einem Objekt gehört und auf dessen eigenen Daten arbeitet.

#Programmiersprachen

Objektorientierte Programmierung (OOP)

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

#Programmiersprachen