Du kannst eine Klasse in eine ihrer Subklassen konvertieren (Type Casting genannt), indem du die Syntax NewReference := type_to_cast_to[Reference] verwendest, wobei type_to_cast_to der Typ ist, den du verwenden willst. Dies ist ein fehlbarer Ausdruck, weil die Umwandlung des Typs fehlschlägt, wenn das Objekt nicht in diesen Typ umgewandelt werden kann – zum Beispiel, wenn die Klasse einen anderen Typ hat als die Subklasse.
Das folgende Beispiel zeigt, wie du TaggedDevice, das den Typ creative_device_base hat, in einen Typ customizable_light_device konvertierst, damit du seine spezifischen Funktionen nutzen kannst. Ist das TaggedDevice kein anpassbares Lichtgerät, wird es nicht TurnOn() aufrufen.
if (LightDevice := customizable_light_device[TaggedDevice]):
LightDevice.TurnOn()