Galileo Design < openbook > Galileo Design - Know-how für Kreative.
Know-how für Kreative

 << zurück
ActionScript 1 und 2 von Sascha Wolter (http://www.saschawolter.de/)
Objektorientierung und Codedesign mit Flash MX 2004
Buch: ActionScript 1 und 2

ActionScript 1 und 2
672 S., mit CD, Referenzkarte, 44,90 Euro
Galileo Design
ISBN 3-89842-221-6
gp Kapitel 14 Vererbung
  gp 14.1 Klassen
    gp 14.1.1 Von Klassen und Prototypen
  gp 14.2 Evolution und Spezialisierung
  gp 14.3 Erben von Fähigkeiten
  gp 14.4 Erben von Eigenschaften
  gp 14.5 prototype, __proto__ und super
  gp 14.6 Alternative


Galileo Design - Zum Seitenanfang

14.6 Alternative  toptop

Die Entwicklergemeinde ist gespalten, was die beste Vorgehensweise bei der Vererbung angeht. Die hier vorgestellte Variante entspricht der von der ECMA und Macromedia empfohlenen Strategie. Mit Hilfe der __proto__-Eigenschaft ist jedoch eine weitere Herangehensweise möglich.

Das größte Manko der empfohlenen Vorgehensweise ist, dass für die Vererbung eine Instanz der Oberklasse als Prototyp der Unterklasse verwendet wird, nur um im Wesentlichen einen Zeiger (__proto__) zum Prototypen der Oberklasse zu erhalten. Dadurch gehen sämtliche vorher getätigten Veränderungen im Prototypen der Unterklasse verloren. Außerdem erhält der Prototyp unnötigerweise die in der Konstruktorfunktion der Oberklasse erzeugten Eigenschaften. Die Alternative bedient sich hier eines einfachen Tricks und setzt die __proto__-Eigenschaft des Prototyp-Objektes direkt auf den Prototypen der Oberklasse. Das bedeutet, dass der wesentliche Schritt der ursprünglichen Vorgehensweise durchgeführt wird ohne die unnötige Erzeugung einer Instanz der Oberklasse:

Unterklasse.prototype.__proto__ = Oberklasse.prototype;

Diese Schreibweise verhindert aber die Verwendung des super-Operators, da dieser keinen Bezug mehr zu der Oberklasse besitzt. Aber auch dieses Manko lässt sich lösen, indem Sie die undokumentierte __constructor__-Eigenschaft korrekt setzen:

Unterklasse.prototype.__constructor__ = Oberklasse;

Durch diese beiden Zeilen erhalten Sie einen sauberen Bezug zur Oberklasse, der Ihnen auch den Einsatz des super-Operators erlaubt – wenn Sie bereit sind, das Risiko mit den nicht empfohlenen bzw. undokumentierten Eigenschaften __proto__ und __constructor__ einzugehen.

 << zurück
  
  Zum Katalog
Zum Katalog: ActionScript 1 und 2
ActionScript 1 und 2
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Einstieg in ActionScript - Aktuell zu Flash 8






 Einstieg in ActionScript


Zum Katalog: Einstieg in Flash 8






 Einstieg in Flash 8


Zum Katalog: Flash 8 und PHP






 Flash 8 und PHP


Zum Katalog: Flash 8-Tutorials






 Flash 8-Tutorials


Zum Katalog: Dreamweaver 8






 Dreamweaver 8


Zum Katalog: Webseiten programmieren und gestalten






 Webseiten programmieren und gestalten


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Design]

Galileo Press GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de