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

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

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

Полезные ссылки
Случайные записи
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 044
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 048
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 022
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 136
  • 29.03.2013">Новые смартфоны от SONY выйдут в текущем году
  • 24.06.2012">Yahoo! и Facebook могут «помириться» уже в августе
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.159
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 031
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 094
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 071
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.55
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 049
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.148
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 100
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.106
Опрос

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

View Results

Loading ... Loading ...