Rheinwerk Design < openbook > Rheinwerk 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
Rheinwerk 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


Rheinwerk 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 Rheinwerk-Shop
Zum Rheinwerk-Shop: ActionScript 1 und 2
ActionScript 1 und 2
bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag 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.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern