Руководство по actionscript. часть 2, стр. 135
? Реализовать контроль доступа, основанный на разрешениях, когда классы должны запрашивать доступ к переменным или методам (обратитесь к листингу 17.5 в подразд. «Пример: управление доступом на основании разрешений» разд. «Практические примеры использования пространств имен»).
? Реализовать различные «режимы» в программе (обратитесь к листингу 17.7 в подразд. «Пример: реализация режимов работы программы» разд. «Практические примеры использования пространств имен»).
Кроме того, пространства имен в языке ActionScript предоставляют непосредственный доступ к пространствам имен языка XML в X ML-доку ментах. Эта тема рассматривается в разд. «Использование пространств имен XML» гл. 18.
Пространства имен в языке С++ в сравнении с пространствами имен в языке ActionScript. Хотя отчасти синтаксис пространств имен в ActionScript похож на синтаксис пространств имен в языке С++, в ActionScript пространства имен используются иначе, нежели в С++.
В языке С++ пространство имен является синтаксическим контейнером, подобно пакетам в языках ActionScript и Java. Здесь идентификатор считается находящимся в конкретном пространстве имен только в том случае, если он физически находится в операторе блока этого пространства имен. Например, в следующем коде переменная а находится в пространстве имен п, поскольку физическое размещение объявления переменной находится внутри блока пространства имен:
namespace п {
int а: } ‘
Таким образом, пространства имен в языке С++ в основном используются для того, чтобы предотвратить конфликты именования между различными частями кода и запретить одной части кода обращаться к другой части кода.
В отличие от этого в языке ActionScript пространство имен может включать любую переменную или метод, независимо от физической структуры кода. Пространства имен в языке ActionScript определяют правила видимости для методов и переменных, которые выходят за структурные границы (за границы классов и пакетов) программы.
Программисты на С++, пытающиеся отыскать в ActionScript эквивалент пространств имен языка С++, должны рассмотреть возможность использования пакетов ActionScript, которые описаны в гл. 1. В С++ не существует непосредственных аналогов пространств имен языка ActionScript.
Перед тем как перейти к рассмотрению примеров применения пространств имен, познакомимся с основными концепциями и синтаксисом, необходимыми при использовании пространств имен в ActionScript. В следующих нескольких вводных разделах мы создадим два пространства имен — fruit и color, после чего ис-
пользуем их для уточнения определений двух переменных и, наконец, обратимся к этим переменным с помощью так называемых уточненных идентификаторов. Изложенный материал мы будем рассматривать на примере простого приложения: детской игры «Учусь читать». Начнем.
Создание пространств имен
Чтобы создать пространство имен, мы должны присвоить ему название. Название каждого пространства имен, формально именуемое названием пространства имен, — это строка, которая по соглашению представляет унифицированный идентификатор ресурса, или URI. Идентификатор URI однозначно идентифицирует пространство имен среди остальных пространств имен в программе и потенциально даже в любой другой программе по всему миру.