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 16 ActionScript 2.0
|  | 16.1 Klassen
|  |  | 16.1.1 class
|  |  | 16.1.2 Technisch gesehen
|  |  | 16.1.3 Klassenpfade
|  |  | 16.1.4 ASO (ActionScript Objekt)
|  | 16.2 Packages
|  |  | 16.2.1 import
|  | 16.3 Typisierung
|  | 16.4 Vererbung
|  |  | 16.4.1 extends
|  | 16.5 Schnittstellen
|  |  | 16.5.1 Interfaces erstellen
|  |  | 16.5.2 Implements
|  | 16.6 Öffentlich oder privat
|  | 16.7 Statisch
|  |  | 16.7.1 static
|  |  | 16.7.2 Öffentlich oder privat
|  |  | 16.7.3 Statisch versus Singleton
|  | 16.8 Getter und Setter
|  |  | 16.8.1 addProperty
|  |  | 16.8.2 Getter und Setter in ActionScript 2.0
|  | 16.9 Dynamisch
|  |  | 16.9.1 dynamic
|  | 16.10 Intrinsic
## 16.4 Vererbung Eine der großen Stärken der objektorientierten Programmierung liegt in der Vererbung, die einen hierarchischen Aufbau von Klassen erlaubt. Eine Freundin ist beispielsweise in den meisten Fällen eine Spezialisierung von Frau. ##### Zum Vergleich: ActionScript 1 Die klassische Schreibweise in ActionScript ist hier mehr als nur gewöhnungsbedürftig und verwendet ein auf Prototypen basierendes Konzept wie JavaScript. Dazu wird im Prototyp der Unterklasse eine Instanz der Oberklasse platziert, was dann zu einer Prototypenkette führt, die wie eine Vererbung funktioniert:
    // ActionScript 1 Code!
##### ActionScript 2.0\Vererbung
    function Frau() {
       // Definiere Eigenschaft
       this.launig = true;
    }
    // Definiere Fähigkeit
    Frau.prototype.koche = function() {
       trace("lecker!");
    };

    function Freundin() {
       // Erbe Eigenschaften (Konstruktor)
       super();
       // Definiere Eigenschaft
       this.kreativ = true;
    }
    // Erbe Fähigkeiten (Prototyp)
    Freundin.prototype = new Frau();
    // Definiere Fähigkeit
    Freundin.prototype.tanze = function() {
       trace("yippi!");
    };
### 16.4.1 extends ##### ActionScript 2.0 Um mit ActionScript 2.0 eine Klasse zu erstellen, die von einer anderen Klasse erbt, benötigen Sie das Schlüsselwort extends. Mit diesem geben Sie innerhalb der erbenden Unterklasse die zu vererbende Oberklasse an:
    class Unterklasse extends Oberklasse {
} Im folgenden Beispiel erbt die Klasse Freundin von der Klasse Frau alle Eigenschaften und Methoden:
    // ActionScritp 2.0-Code in Klassendatei
    class Frau {
       // Definiere Eigenschaft
       var launig;
       // Konstruktor (optional)
       function Frau() {
          // Setze Eigenschaft
          launig = true;
       }
       // Definiere Fähigkeit
       function koche() {
          trace("lecker!");
       }
    }
    // ActionScritp 2.0-Code in Klassendatei
    class Freundin extends Frau {
       // Definiere Eigenschaft
       var kreativ;
       // Konstruktor (optional)
       function Freundin() {
          // Setze Eigenschaft
          kreativ = true;
       }
       // Definiere Fähigkeit
       function tanze() {
          trace("yippi!");
       }
    }
Wie bereits in ActionScript 1 können Sie innerhalb einer Methode auch auf die Methode der Oberklasse zugreifen, indem super zum Einsatz kommt:
       function koche() {
          super.koche();
       }
Bedenken Sie aber bitte, dass letztendlich der Bytecode in der SWF-Datei sich so gut wie gar nicht von der Version mit der eigentümlichen Prototypen-Schreibweise unterscheidet. In erster Linie verbessert sich dadurch nur der Quellcode, was zu einer viel effizienteren Entwicklung führt. Denn es gibt kein Problem, das sich nicht auch mit ActionScript 1 lösen ließe – mit ActionScript 2.0 gelingt dies einfach nur viel eleganter! Übrigens: Eine Mehrfachvererbung erlaubt auch ActionScript 2.0 nicht. Mit Hilfe von Schnittstellen (Interfaces) kann aber ein ähnliches Verhalten implementiert werden. ##### Kleine Unterschiede gibt es doch! Zwar erzeugt der Flash-Compiler aus ActionScript 1 und ActionScript 2.0 denselben Bytecode, doch nicht ohne kleine Unterschiede. Beispielsweise wird bei der Vererbung eine Instanz der Oberklasse innerhalb der Prototypenkette der Unterklasse platziert, um so Vererbung zu ermöglichen (Seite 350). Doch im Gegensatz zu ActionScript 1 wird bei ActionScript 2.0 dafür der Konstruktor der Oberklasse nicht aufgerufen. Dies gilt aber nur, wenn das Projekt als Flash Player 7-Datei exportiert wird. Beim Export nach Flash 6 steht hier die Abwärtskompatibilität im Vordergrund.
<< 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