Hasta donde sé, la terminología proviene de cómo se muestra tradicionalmente la jerarquía de herencia , con los tipos extendidos en la parte inferior y los tipos primarios en la parte superior.
Esto es un poco inútil, a menos que tenga ganas de llamar a la siguiente emisión a la izquierda y derecha .

No estoy buscando opiniones por qué la terminología es como es, pero son más que bienvenidos como comentarios. Estoy buscando referencias sobre quién introdujo por primera vez el downcasting y por qué decidieron ese nombre .
terminology
history
inheritance
Steven Jeuris
fuente
fuente

Respuestas:
Básicamente,
down-yup-castes la continuación lógica desubtype(subclassen OOP) ysupertype(superclassrespectivamente), por ejemplo, la representación clásica del tipo derivado que se encuentra debajo del tipo original -subtipo.Si buscamos el término
subtypingencontramos lo siguiente ( Wikipedia ):Entonces, como muchas otras cosas, se originó en algo vagamente llamado aquí como "derivados de Simula" (probablemente los primeros lenguajes OOP). Simula, sin embargo, ya tiene la noción de subclase , pero no presenta todas las propiedades de OOP.
fuente
La referencia más antigua que he encontrado hasta ahora es de septiembre de 1990, en una publicación de Usenet .
La biblioteca a la que se hace referencia allí es el NIHCL ( disponible del Grupo de preservación de software ), que contiene este código (
MIes "herencia múltiple"):El libro con el que se incluyó este código ( abstracción de datos y programación orientada a objetos en C ++ ) también usa el término "rechazo".
El término "castdown" también parece ser anterior a "downcast" , al menos en Usenet.
fuente