Java Reference
In-Depth Information
Listing 13.12■ Der Eigenschat irma des ersten Objekts wird direkt über die Instanz ein neuer
Wert zugewiesen.
var obj1 = new Object();
Object.prototype.irma = "RJS EDV-KnowHow";
var obj2 = new Object();
obj1.irma="Autoren-net.de";
Das Beispiel ist analog dem Vorgänger aufgebaut. Nur wird in der vierten Zeile über eines
der Objekte ( obj1 ) der Wert der Eigenschat irma geändert. Die nachfolgende Ausgabe
beweist, dass der Wert von irma in obj2 dadurch jedoch nicht geändert wurde.
Bild 13.6■ Nur bei obj1 wurde der Wert von irma geändert.
Wenn wir jedoch über die Eigenschat prototype der Klasse den Wert von irma ändern, ist
er für alle Objekte geändert, wie wir davor gesehen haben. Tatsächlich haben wir in
JavaScript eine Art Zwittersituation zwischen Klassen- und Instanzelementen.
HInWEIS: Objekte in JavaScript sind - ziemlich analog der normalen Vererbung -
mit den Objekten verknüpt, von denen sie abstammen. Diese Verkettung endet
im „Vererbungsbaum“ spätestens bei Object.prototype . Wenn eine Eigenschat
oder Methode über ein Objekt aufgerufen und dort nicht gefunden wird, werden
über diese interne Verbindung alle übergeordneten Objekte nach einer passenden
Eigenschat oder Methode durchsucht. Sollte die Suche bis zu Object.prototype
erfolglos verlaufen sein, wird das Ergebnis undeined geliefert.
Um die Erstellung von Prototypen samt der „Simulation“ erweiterter OO-Techniken in
JavaScript nun richtig zu verstehen, müssen wir noch den Weg über die Erstellung eigener
Konstruktormethoden nehmen.
13.4■Erstellen von Konstruktormethoden
Sie können in JavaScript derzeit wie gesagt Klassen im strengen Sinn der OOP nicht hin-
schreiben. Aber im Sinn von Prototypen können Sie eigene Objektdeinitionen schreiben
und daraus dann Objekte erstellen. Damit können wir im Grunde auch eigene Klassen im
Sinn von Bauvorschriten für Objekte schreiben. Um in JavaScript nun ein Objekt nach
eigenen Vorstellungen anlegen zu können, sind efektiv zwei Schritte nötig.
1. Sie müssen eine eigene Objektdeklaration bzw. Konstruktormethode erstellen.
2. Mit Hilfe dieser Objektdeklaration wird dann wie bei vordeinierten Objektdeklarationen
eine konkrete Objektinstanz erstellt.
 
Search WWH ::




Custom Search