Często w programowaniu korzystamy ze zbiorów obiektów, a nie z pojedynczych obiektów. Na przykład: w aplikacji odtwarzacza muzyki można korzystać z listy utworów oczekujących na odtworzenie. W takim przypadku tworzenie osobnej zmiennej dla każdego utworu z listy nie byłoby najlepszym rozwiązaniem. Lepszym rozwiązaniem jest umieszczenie wszystkich obiektów Song razem w pakunku i korzystanie z nich jak z grupy.
Tablica jest elementem programistycznym, który działa jako kontener dla zbioru elementów, np. dla listy utworów. Najczęściej wszystkie elementy w tablicy są instancjami tej samej klasy, ale nie jest to wymagane w języku ActionScript. Poszczególne pozycje w tablicy są określane jako
elementy
tablicy. Tablicę można traktować jako szufladę na zmienne. Zmienne mogą być dodawane jako elementy tablicy, co jest równoważne umieszczeniu teczki w szufladzie. Tablicę można traktować jako pojedynczą zmienną (przypomina przeniesienie całej szuflady w inne miejsce). Zmienne mogą być traktowane jako grupa (przeglądanie poszczególnych teczek w celu znalezienia konkretnej informacji). Można również uzyskiwać indywidualny dostęp do zmiennych (otwieranie szuflady i wybieranie pojedynczej teczki).
Na przykład: wyobraźmy sobie tworzenie aplikacji odtwarzacza muzyki, w której użytkownik może wybrać wiele utworów, a następnie dodać je do listy odtwarzania. W kodzie ActionScript dostępna jest metoda
addSongsToPlaylist()
, która akceptuje pojedynczą tablicę jako parametr. Niezależnie od liczby utworów, jakie mają zostać dodane do listy (kilka, dużo lub tylko jeden), metodę
addSongsToPlaylist()
należy wywołać tylko raz, przekazując do niej tablicę zawierającą obiekty Song. W metodzie
addSongsToPlaylist()
można korzystać z pętli w celu przeglądania elementów w tablicy (utworów) pojedynczo i w celu dodawania ich do listy odtwarzania.
Najczęściej stosowanym typem tablicy w języku ActionScript jest
tablica indeksowana
. W tablicy indeksowanej poszczególne elementy są przechowywane na numerowanych pozycjach (określanych również jako
indeksy
). Dostęp do elementów uzyskuje się za pośrednictwem numeru, który działa jak adres. Tablice indeksowane spełniają większość potrzeb programowania. Klasa Array jest klasą używaną do reprezentowania tablicy indeksowanej.
Często tablica indeksowana jest używana do zapisywania wielu elementów tego samego typu (obiekty, które są instancjami tej samej klasy). Klasa Array nie zawiera funkcji ograniczania typu elementów, jakie zawiera. Klasa Vector jest typem tablicy indeksowanej, w której wszystkie elementy w pojedynczej tablicy mają ten sam typ. Korzystanie z instancji klasy Vector zamiast z instancji klasy Array umożliwia zwiększenie wydajności i zapewnia inne korzyści. Klasa Vector jest dostępna od wersji 10 programu Flash Player i wersji 1.5 środowiska Adobe AIR.
Specjalnym zastosowaniem tablicy indeksowanej jest
tablica wielowymiarowa
. Tablica wielowymiarowa jest tablicą indeksowaną, której elementy są tablicami indeksowanymi. (Te tablice zawierają inne elementy).
Innym typem tablicy jest
tablica asocjacyjna
, która korzysta z
klucza
będącego ciągiem zamiast z indeksu liczbowego w celu identyfikowania poszczególnych elementów. Język ActionScript 3.0 udostępnia również klasę Dictionary, która reprezentuje
słownik
. Słownik jest tablicą, która umożliwia korzystanie z dowolnego typu obiektu jako klucza do odróżniania elementów.
Ważne pojęcia i terminy
Na poniższej liście wyjaśniono znaczenie ważnych terminów stosowanych w kontekście programowania obsługi tablic i wektorów:
-
Array
-
Obiekt, który służy jako kontener w celu grupowania wielu obiektów.
-
Operator ([]) dostępu do tablicy
-
Para nawiasów kwadratowych otaczająca indeks lub klucz, który w sposób unikalny identyfikuje element tablicy. Ta składnia jest używana po nazwie zmiennej tablicy w celu określenia pojedynczego elementu tablicy, a nie całej tablicy.
-
Tablica asocjacyjna
-
Tablica, która korzysta z kluczy w postaci ciągów znaków, które identyfikują poszczególne elementy.
-
Typ bazowy
-
Typ danych obiektów, które może przechowywać instancja Vector.
-
Dictionary
-
Tablica, której elementy zawierają pary obiektów, określane jako klucz i wartość. Klucz jest używany zamiast indeksu liczbowego w celu identyfikacji konkretnego elementu.
-
Element
-
Jest to pojedyncza pozycja w tablicy.
-
Indeks
-
„Adres” liczbowy używany w celu identyfikowania pojedynczego elementu w tablicy indeksowanej.
-
Tablica indeksowana
-
Standardowy typ tablicy, która zawiera poszczególne elementy w numerowanych pozycjach i korzysta z numeru (indeksu) w celu identyfikowania poszczególnych elementów.
-
Klucz
-
Ciąg znaków lub obiekt używany w celu identyfikowania pojedynczego elementu w tablicy asocjacyjnej lub w słowniku.
-
Tablica wielowymiarowa
-
Tablica zawierająca elementy, które są tablicami, a nie pojedynczymi wartościami.
-
T
-
Standardowa konwencja używana w niniejszej dokumentacji w celu reprezentowania typu bazowego instancji klasy Vector, niezależnie od tego, jaki jest typ bazowy. Konwencja T służy do reprezentowania nazwy klasy, co przedstawiono w opisie parametru Type. („T” oznacza „typ”, np. „typ danych”).
-
Parametr Type
-
Składnia używana z nazwą klasy Vector w celu określenia typu bazowego klasy Vector (typ danych obiektów, które zawiera klasa). Składnia obejmuje znak kropki (
.
), a następnie nazwę typu danych otoczoną przez nawiasy trójkątne (
<>
). Składnia wygląda jak w przykładzie:
Vector.<T>
. W niniejszej dokumentacji klasa określona w parametrze type jest zwykle reprezentowana jako
T
.
-
Vector
-
Jest to typ tablicy, w przypadku którego wszystkie elementy są wystąpieniami tego samego typu danych.