Soweit ich weiß, basiert die Terminologie darauf, wie die Vererbungshierarchie traditionell angezeigt wird, wobei die erweiterten Typen unten und die übergeordneten Typen oben angezeigt werden.
Dies ist ein bisschen sinnlos, es sei denn, Sie möchten die folgenden Links- und Rechtssendungen aufrufen .
Ich suche keine Meinungen, warum die Terminologie so ist wie sie ist, aber sie sind als Kommentare mehr als willkommen. Ich suche nach Referenzen darüber, wer zuerst Up- und Downcasting eingeführt hat und warum sie sich für diesen Namen entschieden haben .
terminology
history
inheritance
Steven Jeuris
quelle
quelle
Antworten:
Grundsätzlich ist das
down-
undup-cast
die logische Fortsetzung dessubtype
(subclass
in OOP) bzw.supertype
(superclass
), z. B. der klassischen Darstellung des abgeleiteten Typs, der sich unterhalb des ursprünglichensub
Typtyps befindet.Wenn wir nach dem Begriff
subtyping
suchen, finden wir Folgendes ( Wikipedia ):Wie viele andere Dinge entstand es aus etwas, das hier vage als "Simula-Derivate" (wahrscheinlich frühe OOP-Sprachen) bezeichnet wird. Simula hat jedoch bereits den Begriff der Unterklasse , verfügt jedoch nicht über alle Eigenschaften von OOP.
quelle
Die älteste Referenz, die ich bisher gefunden habe, stammt aus dem September 1990 in einem Usenet-Beitrag .
Die Bibliothek, auf die dort verwiesen wird, ist die NIHCL ( erhältlich von der Software Preservation Group ), die diesen Code enthält (
MI
ist "Mehrfachvererbung"):In dem Buch, in dem dieser Code enthalten war ( Datenabstraktion und objektorientierte Programmierung in C ++ ), wird auch der Begriff "Castdown" verwendet.
Der Begriff "Castdown" scheint auch vor "Downcast" zu stehen , zumindest im Usenet.
quelle