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

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...");
};

Rheinwerk 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");

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