Vererbung, Polymorphismus und Verkapselung sind die drei wichtigsten Merkmale von OOP, und von diesen hat Vererbung heutzutage eine hohe Nutzungsstatistik. Ich lerne JavaScript und hier sagen alle, dass es eine prototypische Vererbung hat, und die Leute sagen überall, dass es etwas ganz anderes ist als die klassische Vererbung.
Ich kann jedoch nicht verstehen, worin der Unterschied zum praktischen Gebrauch besteht. Mit anderen Worten, wenn Sie eine Basisklasse (einen Prototyp) definieren und dann einige Unterklassen daraus ableiten, haben Sie beide Zugriff auf Funktionalitäten Ihrer Basisklasse und können Funktionen für die abgeleiteten Klassen erweitern. Wenn wir bedenken, was ich als beabsichtigtes Ergebnis der Vererbung bezeichnete, warum sollte es uns dann etwas ausmachen, wenn wir eine prototypische oder klassische Version verwenden?
Um mich selbst klarer zu machen, sehe ich keinen Unterschied in der Nützlichkeit und den Nutzungsmustern der prototypischen und klassischen Vererbung. Dies hat zur Folge, dass ich kein Interesse daran habe zu erfahren, warum sie unterschiedlich sind, da beide dasselbe Ergebnis haben, OOAD. Wie praktisch (nicht theoretisch) unterscheidet sich die prototypische Vererbung von der klassischen Vererbung?