Beim Programmieren müssen Sie häufig anstelle eines einzelnen Objekts eine Gruppe von Objekten bearbeiten. In einer Anwendung für einen Audio-Player kann es beispielsweise wünschenswert sein, eine Wiedergabeliste für Musiktitel zu erstellen. Es wäre unpraktisch, eine separate Variable für jeden Musiktitel in der Liste erstellen zu müssen. Stattdessen sollten sich alle Musiktitel-Objekte zusammen in einem Paket befinden, sodass Sie sie als Gruppe verwenden können.
Bei einem Array handelt es sich um ein Programmierelement, das als Container für eine Gruppe von Objekten dient, z. B. für eine Wiedergabeliste mit Musiktiteln. In der Regel sind alle Elemente in einem Array Instanzen derselben Klasse; dies ist in ActionScript jedoch nicht zwingend erforderlich. Die einzelnen Objekte in einem Array werden als
Elemente
bezeichnet. Sie können sich ein Array als Aktenschublade für Variablen vorstellen. Variablen können dem Array als Elemente hinzugefügt werden, wie Ordner in die Aktenschublade gelegt werden. Sie können das Array wie eine einzelne Variable verwenden (so wie Sie beispielsweise die ganze Schublade an einen anderen Ort tragen können). Sie haben die Möglichkeit, die Variablen als Gruppe zu bearbeiten (vergleichbar mit dem Suchen nach Informationen, indem Sie die Ordner nacheinander durchblättern). Außerdem ist der Zugriff auf einzelne Variablen möglich (Öffnen der Schublade und Auswahl eines einzelnen Ordners).
Beispiel: Sie erstellen eine Anwendung für einen Audio-Player, in der ein Benutzer mehrere Musiktitel auswählen und einer Wiedergabeliste hinzufügen kann. Ihr ActionScript-Code enthält eine Methode namens
addSongsToPlaylist()
, der als Parameter ein einzelnes Array übergeben wird. Unabhängig von der Anzahl der zur Wiedergabeliste hinzugefügten Musiktitel (einige, viele oder nur ein Musiktitel) muss die
addSongsToPlaylist()
-Methode nur ein Mal aufgerufen werden. Dabei wird das Array mit den Song-Objekten übergeben. In der
addSongsToPlaylist()
-Methode können die Elemente des Arrays (die Musiktitel) in einer Schleife ablaufen und der Wiedergabeliste hinzugefügt werden.
Am häufigsten tritt in ActionScript das sogenannte
indizierte Array
auf. Bei einem indizierten Array wird jedes Element an einer nummerierten Position gespeichert (
Index
genannt). Der Zugriff auf die Elemente erfolgt über die Nummer, die die Funktion einer Adresse hat. Indizierte Arrays können für die meisten Programmieranforderungen eingesetzt werden. Zum Repräsentieren eines indizierten Arrays wird häufig die Array-Klasse verwendet.
Oft dient ein indiziertes Array zum Speichern von mehreren Elementen desselben Typs (also von Objekten, die Instanzen derselben Klasse sind). Die Array-Klasse bietet keine Möglichkeit, den Typ der in ihr enthaltenen Elemente einzuschränken. Mit der Vector-Klasse kann ein indiziertes Array erstellt werden, in dem alle Elemente denselben Typ aufweisen. Bei Verwendung einer Vector-Instanz anstelle einer Array-Instanz können auch Leistungsverbesserungen und andere Vorteile erzielt werden. Die Vector-Klasse ist verfügbar ab Flash Player 10 und Adobe AIR 1.5.
Eine besondere Art eines indizierten Arrays ist ein
mehrdimensionales Array
. Bei einem mehrdimensionalen Array handelt es sich um ein indiziertes Array, dessen Elemente ebenfalls indizierte Arrays sind (die wiederum andere Elemente enthalten).
Ein anderer Array-Typ ist das
assoziative Array
, in dem einzelne Elemente mit einem
Stringschlüssel
und nicht mit einer numerischen Indexposition identifiziert werden. Schließlich gehört zu ActionScript 3.0 noch die Dictionary-Klasse, die ein
Wörterbuch
repräsentiert. Ein Wörterbuch ist ein Array, in dem Sie jeden Objekttyp als Schlüssel verwenden können, um verschiedene Elemente zu unterscheiden.
Wichtige Konzepte und Begriffe
In der folgenden Referenzliste sind wichtige Begriffe aufgeführt, die Ihnen beim Programmieren von Array- und Vektorverarbeitungsroutinen begegnen:
-
Array
-
Ein Objekt, das als Container zum Gruppieren mehrerer Objekte dient.
-
Array-Zugriffsoperator ([])
-
Eckige Klammern, die eine Indexposition oder einen Schlüssel umgeben, der ein Array-Element eindeutig identifiziert. Diese Syntax wird nach einem Array-Variablennamen verwendet, um statt des ganzen Arrays ein einzelnes Element des Arrays anzugeben.
-
Assoziatives Array
-
Ein Array mit Stringschlüsseln zum Identifizieren der einzelnen Elemente.
-
Basistyp
-
Der Datentyp der Objekte, die in einer Vector-Instanz gespeichert werden können.
-
Wörterbuch
-
Ein Array, dessen Elemente sich aus Objektpaaren zusammensetzen, die als Schlüssel und Wert bezeichnet werden. Der Schlüssel wird anstelle eines numerischen Indexes zum Identifizieren eines einzelnen Elements verwendet.
-
Element
-
Ein einzelnes Objekt in einem Array.
-
Index
-
Die numerische „Adresse“ zum Identifizieren eines einzelnen Elements in einem indizierten Array.
-
Indiziertes Array
-
Der Standardtyp für Arrays, in dem jedes Element an einer nummerierten Position gespeichert wird und bei dem die einzelnen Elemente anhand der Nummer (des Indexes) identifiziert werden.
-
Schlüssel
-
Der String oder das Objekt zum Identifizieren eines einzelnen Elements in einem assoziativen Array oder einem Wörterbuch.
-
Mehrdimensionales Array
-
Ein Array mit Elementen, die selbst Arrays und keine Einzelwerte sind.
-
T
-
Die Standardkonvention, mit der in dieser Dokumentation der Basistyp einer Vector-Instanz angegeben wird. Die T-Konvention repräsentiert einen Klassennamen, wie in der Beschreibung des Type-Parameters gezeigt. („T“ steht für „Typ“, wie in „Datentyp“.).
-
Type-Parameter
-
Die Syntax, mit der der Vector-Basistyp im Vector-Klassennamen angegeben wird (der Datentyp der gespeicherten Objekte). Die Syntax besteht aus einem Punkt (
.
) gefolgt vom Namen des Datentyps in spitzen Klammern (
<>
). Daraus ergibt sich folgende Angabe:
Vector.<T>
. In dieser Dokumentation wird die im Type-Parameter angegebene Klasse generisch durch
T
repräsentiert.
-
Vektor
-
Ein Array-Typ, bei dem alle Elemente Instanzen desselben Datentyps sind.