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

// (Но идентификатор п мог бы быть доступен, если бы он был определен

// на уровне пакета.)

n var yetAnotherVariable:int;

}

Стоит отметить, что, хотя идентификатор пространства имен, объявленный в классе с использованием модификатора управления доступом internal или public, доступен напрямую только в этом классе и его подклассах, к объекту Namespace, на который ссылается идентификатор пространства имен, можно обратиться с применением синтаксиса обращения к статическим переменным.

Например, чтобы обратиться к объекту Namespace, на который ссылается идентификатор пространства имен п в предыдущем коде, мы могли бы использовать выражение: А. п. Доступ к объектам Namespace с помощью синтаксиса обращения к статическим переменным регламентируется обычными ограничениями, налагаемыми на статические переменные, объявленные с применением модификаторов управления доступом protected, internal и public. В предыдущем коде, поскольку идентификатор п объявлен с использованием модификатора управления доступом public, выражение А. п является допустимым в любом коде, который имеет доступ к классу А. Если бы идентификатор п был объявлен с использованием’ модификатора управления доступом internal, выражение А. п было бы допустимым только внутри пакета, содержащего определение данного пространства имен. Если бы идентификатор п был объявлен с использованием модификатора управления доступом protected, выражение А. п было бы допустимым только внутри класса А и его подклассов.

Однако ссылки на пространства имен, устанавливаемые через класс (например, А. п), не могут быть использованы в качестве атрибута в определении переменной или метода. Следующий синтаксис недопустим, поскольку атрибут определения переменной или метода должен быть константным значением на этапе компиляции:

А. п var p:int; // Недопустимо. А. п не является константой // на этапе компиляции.

Итак, если мы не можем использовать выражение А. п для уточнения определений, для чего оно может использоваться вообще? Оставайтесь с нами, мы скоро узнаем ответ на этот вопрос в разд. «Присваивание и передача значений пространств имен».

Пока рассмотрим последнюю тему, связанную с доступностью пространств имен: определение пространств имен в методах и функциях.

Доступность определений пространств имен на уровне функции

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

public function doSomething ( ):void { // Это недопустимо

private namespace n = «http://www. example. eom/n»;

}

Более тогог определения локальных переменных и вложенных функций не могут использовать пространства имен в качестве атрибутов:

public function doSomething ( ):void { // Это тоже недопустимо namespace n = «http://www. example. eom/n»; n var someLocalVariable:int = 10;

Таким образом, идентификаторы пространств имен, определенные в функции, могут быть использованы только для формирования уточненных идентификаторов (в следующем коде предполагается, что пространство имен п было определено где-то в программе и применяется для уточнения переменной экземпляра someVariable).

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

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

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

Полезные ссылки
Случайные записи
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.36
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 019
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 134
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.165
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.86
  • 17.03.2011">Руководство по actionscript. часть 2, стр. 141
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.125
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 020
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 041
  • 24.03.2013">Чартерные рейсы на Мальдивы
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.9
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.32
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 098
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 089
  • 15.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.58
Опрос

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

View Results

Loading ... Loading ...