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-cast
es la continuación lógica desubtype
(subclass
en OOP) ysupertype
(superclass
respectivamente), por ejemplo, la representación clásica del tipo derivado que se encuentra debajo del tipo original -sub
tipo.Si buscamos el término
subtyping
encontramos 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 (
MI
es "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