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

В каждой области видимости ActionScript неявно открывает подходящее пространство имен для различных модификаторов управления доступом. Например, в каждой области видимости всегда добавляется глобальное пространство имен public в набор открытых пространств имен. На верхнем уровне пакета также добавляются пространства имен internal и publ ic данного пакета. В коде класса, который находится внутри пакета, также добавляются пространства имен private и protected данного класса. Таким образом, набор открытых пространств имен включает не

только пространства имен, открытые пользователем, но и пространства имен для управления доступом, которые неявно открываются в каждой области видимости.

Открыть пространства имен для управления доступом явно с помощью директивы use namespace невозможно. Среда выполнения открывает пространства имен для управления доступом автоматически, в соответствии с текущей областью видимости.

Пространства имен для модификаторов управления доступом определяют доступность идентификаторов и предотвращают конфликты именования. Например, в следующем коде суперкласс Parent и подкласс Child определяют переменную с одним и тем же именем, используя модификатор управления доступом private: description. Переменная description класса Parent недоступна для кода в классе Child, поскольку она уточнена пространством имен private класса Parent, которое не открывается в области видимости класса Child. Благодаря этому названия переменных не конфликтуют между собой.

package р { public class Parent. { private var description-.String = «A Parent object»; public function Parent ( ) { trace(description);

}

}

package p { public class Child extends Parent { private var description:String = «A Child object»; public function Child ( ) { trace(description); // Конфликта не происходит

}

}

}

Однако если переменную description класса Parent объявить с использованием модификатора управления доступом protected, возникнет конфликт. Рассмотрим почему. Во-первых, изменим модификатор управления доступом для переменной description на protected:

public class Parent { protected var description-.String = «A Parent object»;

}

Теперь представим себя на месте среды Flash, пытающейся выполнить код в конструкторе класса Child. Мы входим в конструктор и встречаем ссылку на идентификатор description. Чтобы разрешить этот идентификатор, мы должны проверить его существование в открытых пространствах имен. И какие же пространства имен открыты в конструкторе класса Child? Как мы уже знаем, в коде класса, который находится внутри пакета, среда Flash открывает пространства имен private и protected данного класса, пространства имен internal и public пакета и глобальное пространство имен public. Итак, открытыми пространствами имен являются:

? пространство имен private класса Child;

? пространство имен protected класса Child (которое уточняет все члены, унаследованные от непосредственного суперкласса);

? пространство имен internal пакета р;

? пространство имен public пакета р;

? глобальное пространство имен public;

? все пользовательские пространства имен, открытые явным образом.

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

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

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

Полезные ссылки
Случайные записи
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.23
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 070
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.46
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 047
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 109
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 027
  • 22.07.2011">Acer Aspire One 532g
  • 17.03.2011">Руководство по actionscript. часть 2, стр. 142
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 077
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.58
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.4
  • 28.02.2011">Руководство по actionscript. часть 5, стр. 135
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 122
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.84
  • 17.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.9
Опрос

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

View Results

Loading ... Loading ...