Downcast

In class-based programming, downcasting, or type refinement, is the act of casting a base or parent class reference, to a more restricted derived class reference. This is only allowable if the object is already an instance of the derived class, and so this conversion is inherently fallible. In many environments, type introspection can be used to obtain the type of an object instance at runtime, and then use this result to explicitly evaluate its type compatibility with another type. The possible results of comparing polymorphic types—besides them being equivalent (identical), or unrelated (incompatible)—include two additional cases: namely, where the first type is derived from the second, and then the same thing but swapped the other way around (see: Subtyping § Subsumption). With this information, a program can test, before performing an operation such as storing an object into a typed variable, whether that operation is type safe, or whether it would result in an error. If the type of the runtime instance is derived from (a child of) the type of the target variable (therefore, the parent), downcasting is possible. Some languages, such as OCaml, disallow downcasting.

Similar Artists

Tidus

Event Horizon

How High the Moon

Swamp Stank

Shipwrecked

Boi Dreamz

Daemon Grimm

Muscle

GUTZOMBIE

Project Ascension

Herakleion

Edifice La

Modern Language

Among You

Christworm

Ventruss

Self-Checkout Renaissance

Gloomkeeper

Okay, Boomhauer

Crypt