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

}

// Вызываем вложенную функцию. f( ):

}

public function showB ( ):void { // В следующем коде происходит неправильное обращение к переменной // nl::b. Пространство имен nl открыто только в области видимости метода // showA( ), но не в области видимости метода showB( ), поэтому попытка // обращения окажется неудачной. Более того, в области видимости метода // showB( ) не существует ни одной переменной с простым // идентификатором Ь, поэтому компилятор сгенерирует следующую ошибку: // Attempted access to inaccessible property b through a reference // with static type ScopeDemo.

// (Предпринята попытка обращения к недоступному свойству b через // ссылку на статический тип ScopeDemo.) trace(b); // ОШИБКА!

}

}

Поскольку открытое пространство имен остается открытым во вложенных областях видимости, мы можем открывать пространство имен на уровне класса или пакета с тем, чтобы использовать его в любом месте блока инструкции class или package. Однако стоит отметить, что после того, как пространство имен было открыто, закрыть его будет невозможно. Не существует директивы unuse namespace, равно как не существует способа удалить пространство имен из списка открытых пространств имен определенной области видимости.

Открытие нескольких пространств имен

Вполне допустимо открывать несколько пространств имен в одной и той же области видимости. Например, рассмотрим четыре переменные, относящиеся к двум пространствам имен (переменные взяты из класса Items, представленного в листинге 17.3):

fruit var orange:Item = new Item(«Orange». «fruit-orange. jpg». 1): fruit var apple:Item = new ItemC’Apple». «fruit-apple. jpg». 2): color var orange:Item = new Item(«Orange». «color-orange. jpg». 3); color var purple:Item = new ItemCPurple». «color-purple. jpg». 4):

Предположим, что мы добавили метод showl terns ( ) в класс I terns для отображения всех элементов игры. В этом методе мы можем открыть оба пространства имен fruit и color, азатем обращаться к переменным fruit: : apple и color: : purple, не указывая уточняющее пространство имен:

public function showltems ( ):void { use namespace fruit: use namespace color:

// Вот это да! Никаких пространств имен! trace(apple. name); // Выводит: Apple trace(purple. name); // Выводит: Purple

}

Рассмотрим, как это работает. Как уже известно, термин «открытые пространства имен» означает «набор пространств имен, к которому обращается компилятор при попытке разрешить неуточненные ссылки». Если в указанной области видимости открыто несколько пространств имен, компилятор проверяет каждое пространство абсолютно для всех неуточненных ссылок в данной области видимости. Например, вметоде showltems ( ) открыты оба пространства имен fruit и color. Следовательно, когда компилятор встречает неуточненный идентификатор apple, он проверяет, существуют ли идентификаторы fruit: : apple и color: : apple. В случае с идентификатором apple неуточненная ссылка соответствует идентификатору fruit: : apple, но не соответствует идентификатору color: : apple. Поскольку идентификатор apple соответствует только одному уточненному идентификатору (а именно, fruit: : apple), этот уточненный идентификатор и используется вместо неуточненной ссылки apple.

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

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

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

Полезные ссылки
Случайные записи
  • 08.03.2012">Новый рекорд Skype: 35 млн одновременных пользователей
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 119
  • 15.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.39
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 009
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 095
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 038
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 068
  • 26.08.2010">Классификация сайтов для дизайнера.
  • 24.07.2013">Обустройство пола в доме
  • 17.03.2011">Руководство по actionscript. часть 2, стр. 154
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.72
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 104
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.105
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.120
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 046
Опрос

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

View Results

Loading ... Loading ...