ООП во FLASH 5


Пространства имён - часть 2


Короче говоря, пространства имён упаковывают группу связанных классов в некий "ящичек". Возвращаясь к аналогии с рецептами, можно сказать, что у нас появились как бы разные ящички для разных групп рецептов и этих ящичков на одни только рецепты шоколадных тортов будет много! Один для бабушкиного, один для Юлиного... Ваши догадки верны: ящички - по сути объекты, а одни ящички могут содержать в себе другие ящички. Так что, решив однажды приготовить вкуснятины "по бабушкиным рецептам", мы берём её ящичек, открываем и находим всякую всячину. Там и ящички "кондитерские изделия", и ящички "паштеты" и ящички "пудинги"... Пространства имён то же самое. Вместо того чтобы задавать классы в _root или _level0, задавайте их внутри каждого отдельного объекта (к примеру, не _level0.ChocolateCake, а _level0.Grandma.Cake.ChocolateCake). Когда задаются эти "пространства имён" на главной линейке, в нём может одновременно присутствовать много чего: приаттаченные клипы, загружаемые клипы, и даже случайно задаваемые свойства (когда вы забываете использовать var). Так что основной линейкой сам по себе ничего не гарантирует. Легко убедиться, что при загрузке .swf-файла одновременно не перезаписывается _level0, однако запомните, если хотите, чтобы ваш класс использовали другие люди, задание пространств имён просто необходимо. Причём пользователи должны знать об этом. "Безопасное" место для хранения, это пространство имён внутри Object, потому что последний не связан с линейкой.

Давайте на мгновение оставим воображаемый мир бабушкиной кухни и вернёмся к реальности определения классов в пространствах имён. Обычно выбирается ваше собственное пространство имён верхнего уровня, где находятся определения всех классов. Если вы работаете в компании, то её название неплохой вариант для обозначения пространства имён (разумеется, если компания не называется "Object.prototype"!). Если название по тем или иным причинам не подходит, тогда за имя можно взять бренд любимых ботинок, название причёски, название какого-нибудь еженедельника. Между прочим, можно использовать собственное имя. Не имеет значения, какое название вы используете, но так будет лишь до тех пор, пока им не пользуется никто другой. В Java для обозначения пространства имён обычно используют доменное имя компании, записанное "наоборот", сей способ, несомненно, уникален (кстати, в Java пространства имён называются "пакеты" (packages)). Что ж, это неплохой вариант, если вы доменные имена меняете нечасто, да не так их и много у вас, то используйте на здоровье. Следуя этой системе, можно, например, воспользоваться системой меню "Sparkysoft" и классами кнопок "Aquamedia", и при этом не попасть на два одинаковых определения в одном месте для классов типа "container". Кроме того, свежесозданные классы всегда будут "знать", где найти классы, написанные полгода назад.




Начало  Назад  Вперед



Книжный магазин