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

...powered by www.netzwerkartist.de...

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