Objektorientierung in JavaScript/Datenkapselung, Vererbung, Polymorphie/Vererbung

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Javascript</language>
==Das Klonen von Objekten==

Ein Prototyp dient als Vorlage für neue Objekte. Jedes bereits vorhandene Objekt kann ein Prototyp sein. Die neuen Objekte erhalten alle Eigenschaften und Methoden ihres Prototypen.
In JavaScript können Objekte mit der Anweisung <tt>Object.Create(prototype)</tt> erzeugt werden.

<code id="542717510qff3042016">
var altmetall = {
  masseInKg: 20,
  form : "Quader"
};
var neumetall = Object.create(altmetall);
neumetall.form = "Zylinder";
</code>
<run id="542717e5403042016">
neumetall.masseInKg;
</run>
Das neue Objekt hat die gleiche Masse wie das Altmetall, aber es hat eine andere Form. Objekte können die Eigenschaften und Funktionen ihrer Prototypen ändern oder neue hinzufügen.
Die Eigenschaft <tt>masseInKg</tt> des Objekts <tt>neumetall</tt> referenziert (verweist auf) die Eigenschaft von<tt>altmetall</tt>. Das heißt, es speichert den Wert der Variablen nicht selbst, sondern leitet den Aufruf an den Prototypen weiter.
<code id="5427181003042016">
altmetall.masseInKg= 50;
</code>
<run id="5426181003042016g">
neumetall.masseInKg;
</run>