Prototypen vs. Klassen-basierte Vererbung

In JavaScript, jedes Objekt ist gleichzeitig eine Instanz oder eine Klasse. Zu tun, Vererbung, Sie können jedes Objekt Instanz als Prototyp.

In Python, C++, etc.. es gibt Klassen und Instanzen als separate Konzepte. Um die Vererbung zu tun, müssen Sie die Basisklasse eine neue Klasse erstellen, die dann verwendet werden können, zu produzieren abgeleiteten Instanzen.

Warum haben JavaScript in diese Richtung zu gehen (Prototyp-basierte Objektorientierung)? was sind die Vorteile (und Nachteile) des Prototypen-basierte OO mit Bezug auf die traditionellen, klassenbasierten OO?

JavaScript wurde beeinflusst von Selbst, das war die erste Sprache, mit prototypal inheritance. Damals klassische Erbe war all die Wut, die erstmals in Simula. Aber klassische Vererbung zu kompliziert war. Dann David Ungar und Randall Smith hatte eine Epiphanie nach dem Lesen GEB - "Die meisten bestimmtes Ereignis dienen kann, als ein Allgemeines Beispiel für eine Klasse von Ereignissen." Sie realisiert, dass die Klassen sind nicht erforderlich für die Objekt-orientierte Programmierung. Also Selbst geboren wurde. Zu wissen, wie prototypal inheritance ist besser als die klassische Vererbung Lesen Sie diese: stackoverflow.com/a/16872315/783743 =)
Danke für die Nachfrage eine interessante Frage und für die Einführung von it in einer Weise, die funktioniert bei mir schon als Antwort 🙂
Was/wer ist GEB?
GEB ist ein Buch von Douglas Hofstadter. Es ist eine Abkürzung von " Gödel-Escher-Bach. Kurt Gödel war Mathematiker. Escher war ein Künstler. Bach war ein pianist.

InformationsquelleAutor Stefano Borini | 2009-05-03

Schreibe einen Kommentar