Podstawy tablic

Flash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje

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.