Untertypisierung

Definition - Was bedeutet Subtyping?

Subtyping ist ein Begriff in der Programmiersprachentheorie, bei dem ein Subtyp, bei dem es sich um einen Datentyp handelt, mit einem Supertyp verknüpft ist, der auf dem Begriff der Substituierbarkeit basiert, wobei Programmelemente wie Funktionen und Subroutinen, die für den Supertyp geschrieben wurden, weiterhin funktionieren, wenn die Subtyp stattdessen. Subtypen sind ein wesentliches Konzept in der objektorientierten Programmierung und können durch Supertypen ersetzt werden. Manchmal haben sie sogar strengere Spezifikationen als der Supertyp.

Technische.me erklärt Subtyping

Subtyping ist eine Methode zur Substitution und Wiederverwendung von Code, die in objektorientierten Programmiersprachen verwendet wird, um unnötiges Kopieren von weitgehend ähnlichem Code zu verhindern, die Lesbarkeit von Code zu fördern und Fehler zu vermeiden. Ein Subtyp ist im Grunde ein Ersatz für einen Supertyp, der alle und einige der Spezifikationen des letzteren erfüllen kann. Wenn also B ein Subtyp von A ist, kann B immer verwendet werden, um ein A zu ersetzen, und jede Eigenschaft, die von A garantiert wird, muss auch von B garantiert werden.

Der Subtyp kann Eigenschaften verstärken und sogar hinzufügen, die nicht zum Supertyp gehören, was bedeutet, dass der Supertyp erweitert werden kann. Anstatt also jedes Mal einen neuen Supertyp zu erstellen, wenn etwas Neues erforderlich ist, und dann Eigenschaften und Bedingungen von einem anderen Supertyp zu kopieren, könnte einfach ein Subtyp erstellt werden, der den Supertyp um zusätzliche Eigenschaften oder Merkmale erweitert, ohne den Supertyp zu ändern. Dann ist in diesem Fall alles, was für den Supertyp beweisbar ist, auch für den Subtyp und mehr beweisbar. Wenn ein Subtyp genauso behandelt wird wie der Supertyp, indem nur Supertypmethoden und -felder verwendet und abgefragt werden, stimmen die Ergebnisse mit Objekten des Supertyps überein.