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 16 ActionScript 2.0
  gp 16.1 Klassen
    gp 16.1.1 class
    gp 16.1.2 Technisch gesehen
    gp 16.1.3 Klassenpfade
    gp 16.1.4 ASO (ActionScript Objekt)
  gp 16.2 Packages
    gp 16.2.1 import
  gp 16.3 Typisierung
  gp 16.4 Vererbung
    gp 16.4.1 extends
  gp 16.5 Schnittstellen
    gp 16.5.1 Interfaces erstellen
    gp 16.5.2 Implements
  gp 16.6 Öffentlich oder privat
  gp 16.7 Statisch
    gp 16.7.1 static
    gp 16.7.2 Öffentlich oder privat
    gp 16.7.3 Statisch versus Singleton
  gp 16.8 Getter und Setter
    gp 16.8.1 addProperty
    gp 16.8.2 Getter und Setter in ActionScript 2.0
  gp 16.9 Dynamisch
    gp 16.9.1 dynamic
  gp 16.10 Intrinsic


Rheinwerk Design - Zum Seitenanfang

16.2 Packages  downtop

ActionScript 2.0\Packages

Solange Sie mit nur wenigen Klassen arbeiten, ist es nicht verwerflich, diese alle in einem Verzeichnis abzulegen. Doch sollten Sie die Klassen zumindest in einem anderen Verzeichnis ablegen als die Flash-Dateien.

So ein Verzeichnis inklusive des darin enthaltenen Inhalts bezeichnet man als Package (engl. für Paket). Bei umfangreicheren Projekten bietet es sich an, die Klassen auf mehrere Verzeichnisse (also auf mehrere Packages) zu verteilen, um die Programmierung besser zu strukturieren.

Klassen_trennen

Bei einem Package handelt es sich um ein Verzeichnis, das Klassen und Schnittstellen in Form von ActionScript 2.0-Dateien enthält. Um die Klassen einer Anwendung voneinander zu trennen,

gp  legen Sie (a) für jedes Package ein passendes Verzeichnis an. Dabei darf die Struktur auch hierarchisch sein und ein Package wieder Packages enthalten.
gp  Außerdem benötigen Sie (b) noch einen Einstiegspunkt für die Suche nach den Packages, der als Klassenpfad bezeichnet wird.
gp  Und im Schritt (c) stellen Sie sicher, dass die zugehörigen Klassen die Information erhalten, zu welchem Package sie gehören.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 16.2   Mögliche Struktur der Packages für einen einfachen Shop (hier mit dem leistungsfähigen Dateiverwaltungswerkzeug Total Commander angezeigt)

Verzeichnisstruktur festlegen

Angenommen Sie möchten einen Webshop erstellen und dort Hosen und Jacken verkaufen, dann könnten Sie dies in einem Package für Bekleidung zusammenfassen. Parallel verkaufen Sie vielleicht auch Lebensmittel wie Kaffee und Tee, die Sie in einem Package für Lebensmittel platzieren. Diese beiden Packages wiederum legen Sie in das Paket »Produkte« (siehe Abbildung 16.2). Die Package-Namen (also die Verzeichnisnamen) müssen dabei immer den Regeln für Bezeichner folgen und dürfen somit nur aus Buchstaben, Zahlen, dem Unterstrich und dem Dollarzeichen bestehen. Der erste Buchstabe darf dabei aber keine Zahl sein.

Klassenpfad wählen

Um nun die Packages korrekt verwenden zu können, benötigen Sie ein Verzeichnis als Einstiegspunkt. Diesen Einstiegspunkt bestimmen Sie global über Bearbeiten Voreinstellungen im Register ActionScript, indem Sie dort die Schaltfläche ActionScript 2.0-Einstellungen betätigen. Sie dürfen auch den Klassenpfad für eine einzelne Flash-Datei anlegen, indem Sie in das Menü Datei Einstellungen für Veröffentlichungen wechseln, dort in das Register Flash gehen und die Schaltfläche Einstellungen klicken (siehe »Klassenpfade«). Bei komplexeren Projekten ist der globale Klassenpfad aber meist besser geeignet: So nutzen auch Klassen diesen Einstiegspunkt, um nach anderen Klassendateien zu suchen (für einzelne ActionScript-Dateien können leider keine Klassenpfade vorgegeben werden). Da die Packages in diesem Beispiel in dem Verzeichnis w:\ abgelegt sind, reicht es also nun aus, dies als Klassenpfad anzugeben, um auf alle Klassen innerhalb dieses Packages zugreifen zu können.

Klassen korrekt deklarieren

Damit Klassen korrekt in die Packages eingeordnet werden, benötigen diese eine Angabe über das Package, zu dem sie gehören. Diese Angabe stellen Sie dem Klassennamen wie einen Dateipfad durch Punkte getrennt voran. Die Klasse Hose muss in diesem Beispiel dann über produkte.bekleidung.Hose deklariert werden, da Sie vom Einstiegspunkt ausgesehen im Package »bekleidung« innerhalb des Packages »produkte« liegt:

class produkte.bekleidung.Hose {
}

Die Verwendung innerhalb einer Flash-Datei geschieht ebenfalls inklusive des gesamten Packages, sofern nicht die im Folgenden erklärte import-Anweisung verwendet wird:

var jeans:produkte.bekleidung.Hose;
jeans = new produkte.bekleidung.Hose();

Rheinwerk Design - Zum Seitenanfang

16.2.1 import  toptop

Die Verwendung von Packages kann durch die Import-Anweisung erleichtert werden. Denn jede importierte Klasse steht innerhalb eines Skriptes ab der import-Anweisung direkt über ihren Klassennamen zur Verfügung und muss nicht mehr mit dem gesamten Pfad angegeben werden:

// ActionScript 1-Code!
import produkte.bekleidung.Hose;
var cordhose:Hose;
cordhose = new Hose();

Möchten Sie nicht nur eine einzelne Datei, sondern ein komplettes Package importieren, dann verwenden Sie das Sternchen als Platzhalter. Dabei berücksichtigt Flash aber nur die Klassen, die direkt im Package liegen. Unterverzeichnisse (Subpackages) bleiben davon unberührt:

// ActionScript 1-Code!
import produkte.bekleidung.*;
var cordhose:Hose;
var jeansjacke:Jacke;
cordhose = new Hose();
jeansjacke = new Jacke();

Bei ActionScript 1-Skripten dürfen Sie import-Anweisungen auch mittendrin platzieren. ActionScript 2.0-Klassen und -Schnittstellen verstehen import-Anweisungen jedoch nur am Anfang vor der eigentlichen Klassendefinition und nicht innerhalb der Klassendeklaration. Ohnehin ist es von Vorteil, sämtliche import-Anweisungen direkt am Anfang eines Skriptes zu platzieren, da dies auch die Lesbarkeit erhöht: So ist auf den ersten Blick sichtbar, welche Klassen und Packages ein Skript verwendet. Ein weiterer positiver Nebeneffekt ist, dass sich so nur über die Aenderung der import-Anweisung eine andere Klasse im Skript einsetzen lässt, sofern deren Klassenname identisch ist:

// ActionScript 2.0-Code in Klassendatei
import netteMenschen.Verkaeufer;
// oder import boeseMenschen.Verkaeufer;
class Kaufhaus {
   function ermittleVerkaeufer():Verkaeufer {
      return new Verkaeufer();
   }
}
 << 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