Руководство по 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

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

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

Полезные ссылки
Случайные записи
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.142
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.54
  • 15.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.57
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 088
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.167
  • 06.04.2010">Уроки и учебники по photoshop
  • 24.02.2011">Руководство по actionscript. часть 7, стр. 015
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.109
  • 28.02.2011">Руководство по actionscript. часть 5, стр. 138
  • 17.06.2012">В Великобритании возобновили расследование по Google Street View
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.109
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 146
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 007
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 105
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.57
Опрос

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

View Results

Loading ... Loading ...