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

Kapitel 14 Vererbung

Die Idee hinter der objektorientierten Vererbung in ActionScript

Eine effiziente Programmierung zeichnet sich dadurch aus, dass der Entwickler möglichst niemals denselben Programmcode mehrmals schreiben muss. Die Vererbung hilft, solche Gemeinsamkeiten zu entdecken und in der Programmierung zu nutzen.

03_Objektorientierung\vererbung

Bei der objektorientierten Programmierung (OOP) in Flashs Programmiersprache ActionScript sind Sie als Entwickler immer auf der Suche nach Objekten und deren Zuständen und Fähigkeiten. Solange Sie nur eine Instanz (engl. Instance = Vorkommen) dieses Objektes haben, reicht eine Deklaration in der folgenden Form völlig aus:

einFreund = new Object();
einFreund.laune = "gut";
einFreund.pinkleImStehen = function () {
   trace("Ahhh...");
};

Galileo Design - Zum Seitenanfang

14.1 Klassen  downtop

Sobald Sie mehrere Vorkommen eines Objekttyps benötigen, lohnt sich das Anlegen einer Klasse. Diese Klasse ist die Vorlage oder der Prototyp für alle von ihr abgeleiteten Instanzen:

function Freund(name) {
   this.name = name;
}
Freund.prototype.pinkleImStehen = function() {
   trace("Ahhh ...");
};
Abgeleitete Objekte

Der new-Operator erzeugt in Kombination mit dem Funktionsnamen des Prototypen von der Klasse abgeleitete Objekte:

meinFreund = new Freund("Marc");
weitererFreund = new Freund("Saban");

Galileo Design - Zum Seitenanfang

14.1.1 Von Klassen und Prototypen  toptop

Viele Programmierer, die in Sprachen wie C++ oder Java zu Hause sind, nehmen eine Skriptsprache wie JavaScript oder ActionScript nicht für voll. In der Tat ist die Objektorientierung in diesen Skriptsprachen anders implementiert – dies ist aber nicht unbedingt ein Nachteil.

JavaScript und ActionScript verwenden so wie alle auf ECMAScript basierenden Sprachen Prototypen als Vorlage für Objekte (prototypenbasiert). Java und C++ verwenden hingegen Klassen (klassenbasiert).

Der wesentliche Unterschied ist, dass in klassenbasierten Sprachen Klassen bereits am Anfang des Programms definiert und zur Laufzeit unveränderlich sind. Das heißt, die Eigenschaften und Methoden stehen von Anfang an fest. Selbst einzelne Instanzen sind nicht mehr erweiterbar.

Bei prototypenbasierten Sprachen dürfen beinahe überall im Programmcode Klassen (also Prototypen) definiert werden. Da Prototypen wiederum nichts anderes als Objekte sind, ist ihr Verhalten jederzeit veränderbar: Sie können auch zur Laufzeit Eigenschaften und Methoden hinzufügen, modifizieren oder löschen.

Die Folgen dieser Unterschiede sind weitreichend. Bei klassenbasierten Sprachen muss deutlich strukturierter vorgegangen werden als bei prototypenbasierten Sprachen: Ob dies ein Nachteil oder Vorteil ist, sei dahingestellt. Mit genuegend Disziplin bei der Planung und Umsetzung bieten prototypenbasierte Sprachen das flexiblere und einfachere Konzept – selbst Vererbung kann mit kleineren Tricks umgesetzt werden. Ohne diese Disziplin erhaelt man aber schnell chaotischen Programmcode.

Letztendlich ist das wirklich Schlimme an diesem Zustand die Begriffsverwirrung. In prototypenbasierten Sprachen wird im Endeffekt alles als Objekt bezeichnet, egal ob es die Funktion einer Klasse oder die einer Instanz übernimmt. Hier bieten klassenbasierte Sprachen eine saubere Trennung!

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