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.3 Erben von Fähigkeitetoptop

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 14.2   Im Ausgabefenster zeigt Flash beim Testen (Menü Steuerung Film testen) viele Informationen zu den verwendeten Objekten an, wenn Sie das Menü Fehlersuche Variablen auflisten wählen.

Für die Vererbung benötigen Sie eine vererbende Oberklasse (engl. Superclass) und eine erbende Unterklasse (engl. Subclass), die Sie grundsätzlich wie jede andere Klasse erstellen. Dabei sollte die Oberklasse bereits so viele allgemein gültige Fähigkeiten und Zustände wie möglich beinhalten:

function Mann(name) {
männer und eigenschaften.fla
   this.name = name;
}
Mann.prototype.pinkleImStehen = function() {
   trace("Ahhh ...");
};

Um nun die Fähigkeiten der Oberklasse zu erben, reicht es aus, eine Instanz der Oberklasse als Prototypen-Eigenschaft der Unterklasse zu definieren:

function Freund(name) {
}
// Erbe Fähigkeiten von Mann
Freund.prototype = new Mann();
// Füge der Klasse Freund weitere Fähigkeiten hinzu
Freund.prototype.macheParty = function() {
   trace("Auf geht´s!");
};

Für die Vererbung von Eigenschaften reicht dies jedoch noch nicht aus. Bitte beachten Sie auch, dass die Spezialisierung der Fähigkeiten der Klasse Freund (in diesem Fall mit der Methode macheParty) nach der Vererbung durchgeführt werden muss, da bei der Vererbung durch Freund.prototype = new Mann(); alle bereits in der prototype-Eigenschaft platzierten Inhalte überschrieben werden.

Sie erzeugen und verwenden Instanzen trotz Vererbung wie gewohnt. Mit dem Vorteil, dass die Instanzen der Unterklasse durch nur eine einzige Zeile Code zusätzlich sämtliche Fähigkeiten der Oberklasse beherrschen:

einFreund = new Freund("Marc");
einFreund.pinkleImStehen();
einFreund.macheParty();

Da beliebig viele Unterklassen von einer Oberklasse abgeleitet sein dürfen, ist die Erstellung einer Vater-Klasse mit den gleichen Fähigkeiten wie der Mann-Klasse ein Leichtes:

function Vater(name) {
}
// Erbe Fähigkeiten von Mann
Vater.prototype = new Mann();
meinVater = new Vater("Adi");
meinVater.pinkleImStehen();
In Flash enthaltene Fähigkeiten erben

Auf dieselbe Art und Weise vererben Sie bereits in Flash enthaltene Fähigkeiten. Benötigen Sie zum Beispiel eine Liste, die auch gemischt werden kann, dann würde es zwar ausreichen, die Klasse Array um diese Methode zu erweitern, doch eine neue Klasse mit dieser Fähigkeit ist in vielen Fällen die sauberere Variante – schließlich ist es keine Fähigkeit von einem Array, dass es durchgemischt werden kann, und hat somit in dessen Definition nichts zu suchen:

function Liste () {
liste.fla
}
// Erbe Fähigkeiten von der Klasse Array
Liste.prototype=new Array();
// Erweitere Liste um eine Methode zum Mischen
Liste.prototype.shuffle=function () {
   var sortfunction=function () {
      // Berechne zufällige Ganzzahl zwischen -1 und 1
      return Math.floor(Math.random()*3-1);
   }
   this.sort(sortfunction);
}

meineListe=new Liste();
meineListe.push("a");
meineListe.push("b");
meineListe.push("c");
meineListe.push("d");
meineListe.push("e");
meineListe.push("f");
trace(meineListe);

meineListe.shuffle();
trace(meineListe);

An dieser Stelle fehlt sowohl in dem Beispiel mit den Männern als auch in dem Beispiel mit der Liste noch die Vererbung der Eigenschaften, die über den Konstruktor (die Funktion mit der Klassenbezeichnung) initialisiert werden.

 << 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