Основные сведения о массивахFlash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий В программировании нередко приходится работать не с одним объектом, а с группой элементов. Например, в приложении для воспроизведения музыки может потребоваться создать список песен, ожидающих своей очереди. Было бы затруднительно создавать отдельную переменную для каждой песни в списке. Желательно организовать все объекты Song в одну группу и работать с ними как с одним целым. Массив — это элемент программирования, который выполняет функцию контейнера для набора элементов, такого как список песен. Чаще всего все элементы в массиве являются экземплярами одного класса, но это не является обязательным условием в ActionScript. Отдельные объекты в массиве называются его элементами. Массив можно представить себе как картотеку для переменных. Переменные можно добавлять в качестве элементов массива, наподобие добавления карточки в картотеку. Массив можно обрабатывать как одну переменную (как будто переставить всю картотеку в другое место). Переменные можно обрабатывать как группу (как будто искать нужную информацию, перебирая карточки). Также можно обращаться к ним в индивидуальном порядке (как будто открыть картотеку и достать из нее одну карточку). Допустим, что вы создаете музыкальный проигрыватель, в котором пользователь может выбрать несколько песен и добавить их в список воспроизведения. В коде ActionScript есть метод addSongsToPlaylist(), который принимает в качестве параметра один массив. Независимо от количества песен, которые нужно добавить в список (мало, много или всего одну), можно вызвать метод addSongsToPlaylist() только один раз, передав ему массив с объектами Song. Внутри метода addSongsToPlaylist() можно использовать цикл, который будет по одному проходить элементы массива (песни) и фактически добавлять их в список воспроизведения. Самым распространенным типом массива ActionScript является индексный массив. В индексном массиве каждый элемент хранится в пронумерованном слоте (так называемом индексе). При обращении к элементам этот номер используется в качестве адреса. Индексные массивы подходят для большинства потребностей программирования. Класс Array — это один общий класс, используемый для представления индексного массива. Нередко индексный массив используется для хранения нескольких элементов одного типа (объектов, являющихся экземплярами одного класса). Класс Array не имеет средств для ограничения типа содержащихся в нем элементов. Класс Vector представляет собой тип индексного массива, в котором все элементы принадлежат одному типу. Используя экземпляр Vector вместо экземпляра Array, можно повысить производительность и получить другие преимущества. Класс Vector доступен для использования, начиная с Flash Player версии 10 и Adobe AIR версии 1.5. Особым случаем использования индексного массива является многомерный массив. Многомерный массив — это индексный массив, элементами которого являются индексные массивы (которые, в свою очередь, содержат другие элементы). Другим типом массива является ассоциативный массив, который для идентификации отдельных элементов использует строковый ключ а не числовой индекс. Наконец, язык ActionScript 3.0 также включает класс Dictionary, который представляет собой словарь. Словарь — это массив, который позволяет использовать любой тип объекта в качестве ключа для идентификации элементов. Важные понятия и терминыНиже приводится список важных терминов, встречающихся в этой главе и использующихся при программировании приложений, которые оперируют массивами и векторами:
|
|