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

Var meal:Food = new Apple( );

Boolean(meal): // На этапе выполнения будет возвращено значение true

Избавление от нежелательных ошибок несоответствия типов

Как уже известно, операции приведения типов могут быть использованы для выявления нежелательных ошибок обращения на этапе компиляции. Подобным образом операции приведения типов могут применяться для избавления от нежелательных ошибок несоответствия типов.

В качестве примера представьте программу, которая преобразует температуру, заданную по шкале Фаренгейта, в температуру по шкале Цельсия. Значение температуры по шкале Фаренгейта вводится в текстовое поле, представленное экземпляром внутреннего класса TextField. Для получения введенного значения мы обращаемся к переменной text экземпляра класса TextField, как показано в следующем коде:

var fahrenheit:Number = inputField. text;

В данных условиях такой код вызовет ошибку несоответствия типов, поскольку типом данных переменной text является String. Чтобы избавиться от этой ошибки, мы используем операцию приведения типов, как показано в следующем коде:

var fahrenheit:Number = NumberCinputField. text):

На этапе выполнения программы этот код преобразует строковое значение, хранящееся в переменной inputField. text, в тип Number и присвоит преобразованное значение переменной fahrenheit.

Восходящее и нисходящее приведения типов

Приведение типа объекта к одному из его супертипов (суперклассу или суперинтерфейсу) называется восходящим приведением типов. Например, следующая операция осуществляет восходящее приведение типов, поскольку тип данных Food является супертипом типа Apple:

Food(new Apple( ))

И наоборот, приведение типа объекта к одному из его подтипов (подклассу или подинтерфейсу) называется нисходящим приведением, поскольку эта операция выполняет приведение типа объекта к типу, который находится ниже текущего в иерархии. Следующая операция осуществляет нисходящее приведение типов, поскольку тип данных Apple является подтипом типа Food:

Apple(new Food( ))

Говорят, что восходящее приведение типов «расширяет» тип объекта, поскольку супертип является более обобщенным по сравнению с его подтипом. В то же время нисходящее приведение типов «сужает» тип объекта, поскольку подтип является более специализированным, чем его супертип.

Кроме того, восходящее приведение типов считается безопасным, поскольку оно никогда не вызывает ошибку на этапе выполнения. Как было сказано ранее, экземпляр подтипа можно всегда рассматривать как экземпляр любого из его супертипов, потому что он гарантированно (через наследование) обладает всеми методами и переменными экземпляра своих супертипов в том случае, если эти методы и переменные объявлены с использованием любых модификаторов управления доступом, кроме private.

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

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

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

Полезные ссылки
Случайные записи
  • 17.03.2011">Руководство по actionscript. часть 2, стр. 152
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 121
  • 04.08.2010">Современное выравнивание макета
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 067
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.87
  • 23.02.2011">Руководство по actionscript. часть 7, стр. 017
  • 19.02.2013">Избавление от шлаков и токсинов
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 098
  • 15.07.2010">Полезные термины для новичков.
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 008
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 043
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 023
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.28
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.30
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 048
Опрос

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

View Results

Loading ... Loading ...