Руководство по actionscript. часть 2, стр. 120

Все объекты, создаваемые из функций-конструкторов, неявно являются динамическими. Таким образом, в процессе создания объекта функция-конструктор может использовать ключевое слово this для добавления в этот объект новых динамических переменных экземпляра. Динамическим переменным экземпляра, создаваемым в функции-конструкторе, обычно присваиваются значения, которые передаются в функцию в качестве аргументов. Это демонстрирует следующий код:

function Employee (age, salary) { // Описываем динамические переменные экземпляра this. age = age: this. salary = salary;

}

// Передаем аргументы, которые будут использованы в качестве значений // динамических переменных экземпляра данного объекта var worker = new Employee(25, 27000); trace(worker. age); // Выводит: 25

Чтобы объекты, создаваемые с помощью определенной функции-конструктора, могли разделять между собой информацию и поведение, язык ActionScript для каждой функции вводит специальную статическую переменную prototype. Переменная функции prototype ссылается на объект (называемый объектом-прототипом функции), к динамическим переменным экземпляра которого можно обращаться через любой объект, созданный с помощью данной функции. Изначально язык ActionScript присваивает переменной prototype каждой функции экземпляр базового класса Object. Добавляя в этот объект динамические переменные экземпляра, мы можем создать информацию и поведение, разделяемые между всеми объектами, созданными из конкретной функции.

Например, следующий код добавляет динамическую переменную экземпляра company в объект prototype функции Employee ( ):

Employee. prototype. company = «AnyCorp»;

В результате любой объект, созданный из функции Employee ( ), может обращаться к переменной company так, будто это его собственная динамическая переменная экземпляра:

var worker = new Employee(25, 27000); trace(worker. company); // Выводит: AnyCorp

В предыдущем коде, когда среда выполнения Flash поймет, что объект, созданный из функции Employee ( ) (worker), не имеет переменной экземпляра или метода экземпляра с именем «company», она проверит, определена ли динамическая переменная экземпляра с таким именем в объекте Employee. prototype. В этом объекте такая переменная определена’ поэтому среда Flash использует ее так, будто это собственная переменная объекта worker.

Если, с другой стороны, в объекте worker определена собственная переменная company, она будет использована вместо переменной объекта Employee. prototype. Это демонстрирует следующий код:

var worker = new Employee(25, 27000); worker. company = «CarCompany»;

trace(worker. company); // Выводит: CarCompany (не AnyCorp)

Используя методику, рассмотренную в разд. «Динамическое добавление нового поведения в экземпляр», мы можем присвоить функцию динамической переменной экземпляра объекта prototype любой функции-конструктора. Эта функция в дальнейшем может быть использована любым объектом, созданным из данной функции-конструктора.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 091
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.129
  • 23.02.2011">Руководство по actionscript. часть 7, стр. 024
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 096
  • 10.08.2011">Samsung GT-S5250 – отличный помощник
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.104
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 028
  • 14.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.81
  • 15.02.2014">Как установить розетку?
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 021
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 072
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 109
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 034
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 094
  • 11.03.2011">Руководство по actionscript. часть 4, стр. 005
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...