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

Независимо от действительного значения переменной meal компилятор верит, что типом данных выражения meal является тип Apple. По этой причине, принимая решение о возможности вызова метода hasWorm ( ) над значением переменной meal, компилятор проверяет, определен ли метод hasWorm ( ) в классе Apple, но не в классе Food. Метод hasWorm ( ) определен в классе Apple, и следовательно, компилятор не генерирует никаких ошибок.

Однако операция приведения типов используется не только на этапе компиляции. На этапе выполнения программы ей также присуще определенное поведение: если выражение выражение преобразуется в объект, который принадлежит указанному типу

тип, то среда Flash просто возвращает этот объект. Однако если выражение выражение преобразуется в объект, который не принадлежит указанному типу тип, возможен один из двух вариантов завершения операции приведения типов. Если указанный тип тип не является примитивным, операция приведения типов вызовет ошибку на этапе выполнения; в противном случае значение объекта преобразуется в указанный тип (в соответствии с правилами, перечисленными в разд. «Преобразование в примитивные типы»), и результатом операции будет преобразованное значение.

Например, в следующем коде значение переменной meal, сформированное на этапе выполнения программы, принадлежит типу данных Apple, поэтому операция приведения типов во второй строке просто вернет объект Apple, на который ссылается переменная meal:

var meal:Food = new Applet );

Apple(meal); // На этапе выполнения вернет объект Apple

Для сравнения, в следующем коде значение переменной meal, сформированное на этапе выполнения программы, не принадлежит типу данных VirtualPet, и, поскольку тип данных VirtualPet не является примитивным, операция приведения типов во второй строке вызовет ошибку типа:

var meal:Food = new Apple( );

Vi rtualPet(meal); // На этапе выполнения будет вызвана ошибка типа

Наконец, в следующем коде значение переменной meal, сформированное на этапе выполнения программы, не принадлежит типу данных Boolean, но, поскольку тип данных Boolean является примитивным, операция приведения типов во второй строке преобразует значение переменной meal в указанный тип и вернет результат данного преобразования (true):

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

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

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

Полезные ссылки
Случайные записи
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 039
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 024
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.134
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 148
  • 28.02.2011">Руководство по actionscript. часть 6, стр. 018
  • 19.11.2013">Паркетная доска: достоинства и недостатки
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 124
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 007
  • 11.03.2011">Руководство по actionscript. часть 4, стр. 013
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 046
  • 15.02.2014">Как установить розетку?
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.119
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 121
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 069
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 015
Опрос

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

View Results

Loading ... Loading ...