Приветствую Вас Гость | RSS

Flash. Обо всем по маленьку

Вторник, 23.12.2025, 06:43
Главная » Статьи » Уроки ActionScript

Урок 6. Объекты, свойства, методы и классы

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

// Creating a new object instance

var myObject:Object = new Object();

Существуют другие виды объектов в ActionScript, которые ведут себя подобным образом. Каждая временная шкала во Flash, например, представляет временную шкалу символа клипа, который представлен в ActionScript объектом MovieClip или его экземпляром. Имя переменной временной шкалы или MovieClip – это свойство этого экземпляра MovieClip.

// Main timeline

trace(name); // traces "root1"

Функции, определенные в объектах, известны в качестве методов. Вместе, свойства и методы являются членами объекта. Все «публично» доступные члены (те, к которым у вас имеется доступ) объекта представляют его интерфейс. Методы, уникальные для экземпляров MovieClip включают такие методы как gotoAndPlay() и gotoAndStop().

Примитивные значения, такие как Boolean (истина или ложь), Number (числовые значения) и String (текстовые символы), не являются объектами в их истинном понимании, так как они представляют базовые значения и не выступают в роли контейнеров для других значений. Тем не менее, Flash связывает эти примитивы с некоторыми видами объектов (Boolean, Number и String), или классов, которые наделяют их некоторой функциональностью, похожей на функциональность объектов. Таким образом, например, вы можете извлечь некоторую часть текста из примитива String, используя метод String.slice() класса String.

Классы являются тем, что определяют объекты. Они также выступают в роли типов объектов. Класс Array, например, определяет, какие свойства и методы существуют в экземплярах Array (чей тип – Array). При просмотре документации, доступной для массивов, вы просматриваете ссылку на класс Array. 

var arrayInstance:Array = new Array(); // instance of Array class

Начиная с ActionScript 2, некоторые классы в ActionScript были определены как изолированные (не динамические). Когда класс изолирован, это означает, что экземпляры этого класса не могут иметь дополнительных переменных или свойств, определенных для них, за пределами переменных или свойств, назначенных при определении класса. Классы Object и Array в ActionScript являются динамическими. Вы можете определить какие угодно переменные значения для их объектов. Класс Sound, в противоположность, является примером изолированного класса, так как нельзя динамически создать какое-либо переменное значение внутри экземпляра Sound.

// ActionScript 2 and 3

var array:Array = new Array();

array.customValue = 1; // OK

var sound:Sound = new Sound();

sound.customValue = 2; // Error: Access of possibly undefined property

В ActionScript 2 соблюдение динамического или изолированного класса осуществлялось компилятором. Поэтому можно было работать вокруг ограничения изолированных классов с использованием оператора доступа массива для ссылки на переменные.

// ActionScript 2 workaround

var sound:Sound = new Sound();

sound["customValue"] = 2; // Works

Это больше не применимо в ActionScript 3. Изолированные классы в ActionScript 3 принудительно соблюдаются не только во время компиляции, но также в процессе прогона. Тем не менее, это необходимо в ActionScript 3, так как он использует природу изолированных классов для улучшения производительности.

По мере работы с разными объектами в ActionScript, вам понадобиться разграничивать, какие объекты являются динамическими, а какие нет. Здесь приведен список обычно используемых динамических классов:

  Object
  Array
  Date
  Dictionary*
  Error (и большинство других классов Error)
  MovieClip
  RegExp*
  StyleSheet
  URLVariables*
  XML* (and XMLList*)

* Новый класс, появился в ActionScript 3
Категория: Уроки ActionScript | Добавил: anti_k (25.02.2010)
Просмотров: 965 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]