Руководство по actionscript. часть 1, стр. 034
Создание объектов
Для создания объекта из класса (говоря техническим языком, создания экземпляра объекта) в сочетании с именем класса используется ключевое слово new. Ниже представлен обобщенный код, позволяющий описать данный подход:
new ИмяКласса
Например, чтобы создать объект из класса VirtualPet, используется следующий код:
new VirtualPet
Из одного класса можно создать несколько независимых объектов. В следующем примере описан код создания двух объектов VirtualPet:
new VirtualPet new VirtualPet
Синтаксис констант
Выше было сказано, что для создания нового объекта используется обобщенный синтаксис:
new ИмяКласса
Этот синтаксис применяется как к предопределенным, так и к пользовательским классам языка ActionScript. Например, следующий код демонстрирует создание нового экземпляра предопределенного класса Date, представляющего определенный момент времени:
new Date
Тем не менее для некоторых собственных классов язык ActionScript также предлагает альтернативный, более удобный способ создания экземпляров, называемый синтаксисом констант. К примеру, чтобы создать новый экземпляр класса Number, представляющий число с плавающей запятой 2 5, 4, можно использовать удобную запись в виде константы:
25.4
Подобным же образом для создания нового экземпляра класса String, представляющего текст «hello», можно использовать запись в виде константы:
«hello»
Наконец, чтобы создать новый экземпляр класса Boolean, представляющий логическое состояние true, можно также использовать запись в виде константы:
true
Для создания нового экземпляра класса Boolean, представляющего логическое состояние false, снова применяется запись в виде константы:
false
Синтаксис констант также доступен для классов Ob j ect, Function, RegExp и XML. Синтаксис констант для класса Ob j ect приведен в гл. 15, для класса Function — в гл. 5, а для класса XML — в гл. 18. Информацию по синтаксису констант для класса RegExp можно найти в соответствующей документации корпорации Adobe.
Пример создания объекта: добавление животного в зоопарк
Теперь, когда нам известно, как создавать объекты, мы можем добавить объект класса VirtualPet в нашу программу по созданию виртуального зоопарка. Следующий код делает именно это:
package zoo { public class VirtualZoo { public function VirtualZoo ( ) {
new VirtualPet
}
}
}
Обратите внимание, что в этом коде обращение к классу VirtualPet происходит не по его уточненному имени zoo. VirtualPet, а по имени VirtualPet, являющемуся неуточненным, поскольку код из определенного пакета может обращаться к классам этого пакета по их неуточненным именам.
Однако код не может обращаться к классам в других пакетах. Чтобы получить доступ к открытому классу в другом пакете, необходимо использовать директиву import, которая записывается в следующем общем виде:
i mpo rt имяПакета. ИмяКласса:
В приведенном коде имяПакета — это имя пакета, которому принадлежит класс, а Имя — Класса — это имя открытого класса, который должен быть использован. Если указанный класс не является открытым, то его невозможно будет импортировать, поскольку классы, не являющиеся открытыми, не могут быть использованы за пределами пакета, которому принадлежат. Как только класс будет импортирован в программу, к нему можно обращаться по его неуточненному имени. Например, чтобы создать экземпляр предопределенного класса flash. media. Sound (который используется для загрузки и воспроизведения звуковых файлов), используется следующий код: