prototypbasierte vs. klassenbasierte 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?

Kommentar zu dem Problem
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 =) Kommentarautor: Aadit M Shah
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 🙂 Kommentarautor: jj_
@AaditMShah Was/wer ist GEB? Kommentarautor: Alex
@Alex 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. Kommentarautor: Aadit M Shah

InformationsquelleAutor der Frage Stefano Borini | 2009-05-03

Schreibe einen Kommentar