
Работа с xml
Action Script 3 включает несколько классов, используемых для работы со структурированной в XML информацией. Основными классами являются два следующих:
XML: представляет одиночный XML-элемент, который может быть XML-документом с несколькими дочерними элементами или элементом одиночного значения внутри документа.
XMLList: представляет набор XML-элементов. Объект XMLList используется при наличии нескольких XML-элементов одного уровня.
Чтобы создать XML-элемент необходимо объявить его в виде переменной и задать его структуру:
var myXML:XML =
<order>
<item id='1'>
<menuName>burger</menuName>
<price>3.95</price>
</item>
<item id='2'>
<menuName>fries</menuName>
<price>1.45</price>
</item>
</order>
Теперь для того чтобы обратиться к определенному значению, заключенному в теге, надо постепенно от имени XML-элемента до самого последнего имени тега обращаться через “.”, исключение составляет самый верхний тег XML-элемента (его в пути не надо указывать):
trace(myXML.item[0].menuName); //выводит “burger”
Стоит обратить внимание, что обращение к элементу массива в XML осуществляется через его порядковый индекс. Индексы нумеруются от 0 до n-1, где n – количество элементов массива. Также можно обратиться через свойство или атрибут.
trace(myXML.item.(@id==2).menuName); // выводит fries
trace(myXML.item.(menuName=="burger").price); // выводит 3.95
Символ ‘@’ используется для обращения к атрибутам того или иного тега.
При работе с XML есть возможность не только получать данные, но и записывать их. Например, добавим еще один элемент в myXML:
myXML.item[2].menuName = "cola";
myXML.item[2].@id = 3;
Работа с классами
Класс — это абстрактное представление объекта. В классе хранится информация о типах данных, которые может содержать объект, и о его возможных видах поведения. Полезность такой абстракции может быть не такой заметной при создании небольших сценариев, содержащих всего несколько взаимодействующих между собой объектов. Однако по мере расширения области действия программы и увеличения числа управляемых объектов, становится очевидно, что классы обеспечивают более полный контроль над созданием и взаимодействием объектов.
Правильный синтаксис для определения класса вызывает ключевое слово class, за которым следует имя класса. Тело класса, заключенное в фигурные скобки ({}), идет после имени класса. Например, следующий код создает класс с именем Shape, содержащий одну переменную visible.
public class Shape
{
var visible:Boolean = true;
}
Чтобы работать с классом в Action Script 3, необходимо сначала создать пакет для этого класса. Пакет обозначается как package.
package main
{
public class myClass{}
}
Данный код сохраняется в файле с расширением .as в папке с именем main. Эта папка должна находиться в папке основного проекта. Таким образом, мы можем подключить этот класс, когда потребуется.
Тело класса, заключенное в фигурные скобки, служит для определения переменных, констант и методов класса. Для класса мы определяем его свойства и методы.
public class myClass
{
public var count:Number;
private function getCount():Number
{
return count;
}
}
Здесь мы определили одно свойство класса count и один метод getCount, который возвращает нам значение свойства count.
С любым свойством класса может использоваться несколько атрибутов:
Эти атрибуты указываются перед каждым свойством класса при объявлении этого свойства.
Методы — это функции, которые входят в состав определения класса. Когда создается экземпляра класса, с ним связывается метод. В отличие от функции, объявленной за пределами класса, метод нельзя использовать отдельно от экземпляра, с которым он связан. Методы определяются с использованием ключевого слова function. Как и свойства класса, любой их атрибут можно применить к методам, включая личные, защищенные, общедоступные, внутренние, статические или пользовательские пространства имен.