Typumwandlung

Als Typumwandlung (englisch type conversion oder type casting, kurz cast) wird in der Informatik die Umwandlung eines Datums von einem Datentyp in einen anderen bezeichnet. Dadurch werden Typverletzungen vermieden, die durch mangelnde Zuweisungskompatibilität entstehen.

Hierbei unterscheidet man zwischen

  1. expliziter und impliziter Typumwandlung;
  2. werterhaltender und verlustbehafteter Typumwandlung;
  3. benutzerdefinierter und vordefinierter (“built-in”) Typumwandlung.

Bei der expliziten Typumwandlung wird die Typumwandlung im Programmcode ausdrücklich hingeschrieben. Je nach Typisierung der verwendeten Programmiersprache kann das Fehlen der expliziten Angabe der Typumwandlung einen Laufzeit- oder Compilezeit-Fehler zur Folge haben. Im Unterschied dazu erscheinen implizite Typumwandlungen nicht im Quelltext. Sie erfolgen entweder nach Vorschriften, die durch die Programmiersprache vorgegeben sind, oder gemäß einem vom Programmierer an einer anderen Stelle im Quelltext festgelegten Verfahren.

Eine Typumwandlung ist werterhaltend, wenn alle im Ausgangstyp darstellbaren Werte auch im Zieltyp darstellbar sind, so dass sich der Wert, also das umgewandelte Datum, auf keinen Fall ändert. Anderenfalls nennt man sie verlustbehaftet. Implizite Typumwandlungen können eine Fehlerquelle sein, indem versehentlich eine verlustbehaftete Umwandlung verursacht wird. Deshalb erlauben viele Programmiersprachen eine implizite Typumwandlung nur dann, wenn sie werterhaltend ist.


Developed by StudentB