logo
Последняя версия шпор по СТП

9.Назначение и особенности классов Object и DataProvider

Класс Object находится в корне иерархии классов ActionScript. Объекты создаются конструкторами с помощью синтаксиса оператора new, и им можно динамически присвоить свойства. Объекты могут также создаваться путем присвоения литерала объекта (см. ниже):

var obj:Object = {a:"foo", b:"bar"}

Все классы, которые не объявляют базовый класс явным образом, расширяют встроенный класс Object.

Класс Object можно использовать для создания массивов ассоциативных элементов. В сущности, массив ассоциативных элементов является экземпляром класса Object, и каждая пара «ключ-значение» представлена свойством и его значением. Еще одна причина объявить массив ассоциативных элементов с помощью типа данных Object состоит в том, что после этого можно использовать литерал объекта, чтобы заполнить массив ассоциативных элементов (но только в тот раз, когда он объявлен). В следующем примере массив ассоциативных элементов создается с помощью литерала объекта, доступ к элементам выполняется как с помощью оператора-точки, так и посредством оператора доступа к массиву, а затем путем создания нового свойства создается новая пара ключ-значение:

var myAssocArray:Object = {fname:"John", lname:"Public"};

trace(myAssocArray.fname); // John

trace(myAssocArray["lname"]); // Public

myAssocArray.initial = "Q";

trace(myAssocArray.initial); // Q

Создание объекта DataProvider с помощью ActionScript

Объект DataProvider — источник данных, с помощью которого можно заполнить данными компоненты ComboBox, DataGrid, List и TileList. Каждый из этих классов компонентов имеет свойство dataProvider, которому можно назначить объект DataProvider для заполнения данными ячеек компонента. Как правило, поставщик данных — это коллекция данных, например объект Array или XML.

Чтобы создать объект DataProvider, можно создать данные в объекте Array или XML и передать его в качестве параметра value конструктору DataProvider.

Примечание. В ActionScript 3.0 объект Array или XML нельзя назначить напрямую свойству dataProvider, так как свойство определяется в качестве объекта DataProvider и может получать только объекты типа DataProvider.

Добавлять элементы в объект DataProvider можно с помощью addItem() и addItemAt().

Кроме того, с помощью объекта DataProvider можно удалять или заменять элементы в компоненте.

Объект DataProvider можно также объединять с другим и сортировать с помощью методов merge(), sort() и sortOn().