Know-how für Kreative

Inhaltsverzeichnis
1 Erste Schritte
2 Versionen
3 Einführung in die Programmierung
4 Die Entwicklungsumgebung
5 Regeln
6 Anweisungen und Aktionen
7 Werte und Datentypen
8 Ausdrücke und Operatoren
9 Funktionen
10 Kontrollstrukturen
11 Dokumenten-Objektmodell und Gültigkeitsbereich (Scope)
12 Ereignisse
13 Objekterstellung
14 Vererbung
15 Movieclips
16 ActionScript 2.0
17 Komponenten
18 Codedesign und Konzeption
19 Flashdetection
20 Aussergewoehnliche Benutzerfuehrung
21 D mit Flash
22 Macromedia Central
23 HTML
24 JavaScript, ActiveX und Java
25 Flash undokumentiert
26 Vergangenheit, Gegenwart und Zukunft
27 Kurzreferenz
28 Buchtipps
29 Links
30 Die CD-ROM zum Buch
Index
Download: - ZIP, ca. 9,8 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Design / <openbook> / ActionScript | vor >>
ActionScript 1 und 2 von Sascha Wolter (http://www.saschawolter.de/) Objektorientierung und Codedesign mit Flash MX 2004
ActionScript 1 und 2 672 S., mit CD, Referenzkarte, 44,90 Euro Galileo Design ISBN 3-89842-221-6 |
| Kapitel 14 Vererbung
|  | 14.1 Klassen
|  |  | 14.1.1 Von Klassen und Prototypen
|  | 14.2 Evolution und Spezialisierung
|  | 14.3 Erben von Fähigkeiten
|  | 14.4 Erben von Eigenschaften
|  | 14.5 prototype, __proto__ und super
|  | 14.6 Alternative
## 14.3 Erben von Fähigkeiten 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 | <top> | vor >>
Zum Katalog
ActionScript 1 und 2 bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| Einstieg in ActionScript
| Einstieg in Flash 8
| Flash 8 und PHP
| Flash 8-Tutorials
| Dreamweaver 8
| Webseiten programmieren und gestalten
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

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