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

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

function Employee ( ) { } •

Employee. prototype. company = «AnyCorp»;

Любой объект, созданный из функции Employee ( ), может обращаться к переменной company через объект-прототип функции Empoyee ( ). Ничего нового. Теперь предположим, что мы создали еще одну функцию Manager ( ):

function Manager ( ) { }

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

Manager. prototype = new Employee( );

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

var worker = new Manager( ); trace(worker. company);

При выполнении предыдущего кода среда Flash проверяет, имеет ли объект worker переменную или метод экземпляра с именем » company». Объект worker не имеет

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

Рассмотрим путь, который проходит среда Flash при поиске переменной с именем «company».

1. Ищем переменную company в объекте worker. Не найдена.

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

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

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

Полезные ссылки
Случайные записи
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.93
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 080
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 065
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 132
  • 17.05.2012">«Лаборатория Касперского»: спамеры нацелились на геймеров и пользователей Facebook
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 069
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 011
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 085
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 142
  • 21.08.2011">Притягательная красная планета
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.90
  • 22.08.2012">McAfee собирается защищать автомобили от вирусов
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.100
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 110
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.63
Опрос

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

View Results

Loading ... Loading ...