модификатор доступа internal
Скажите, кто-нибудь пользуется сабжем и в каких ситуациях? У меня пока активно используются все остальные модификаторы, кроме internal.
|
Appleman, ну если у тебя не было ситуаций, когда эта фича пригодилась бы, то и не парься. А если такая ситуация возникнет, то используй, раз уж она есть. В AS3 вообще свои пространства имен можно создавать. Во флексе, кажется, это активно использовалось. Но лично мне кажется, что вся эта муть только добавляет запутанности. В хаксе вон всего два варианта видимости - public и protected и ничего, никто не жалуется.
|
Да просто не все то, что ты объявляешь как паблик, используется как паблик. Что-то наверняка используется только внутри пакета, ты просто не задумывался об этом. Вопрос, скорее, чистоты кода, чем строгой необходимости. Можно ведь и все приваты объявить пабликами (многие так и делают, переходя с кода в кадрах на классы). Вообще это категория больше для библиотек, то есть какого-то специфического набора классов, выполняющих одну общую задачу, нередко имеющего "фасад", обеспечивающий взаимодействие пакета с "внешним" миром, и несколько классов-утилит, которые работают себе в шахте и наружу нос не кажут. Ты просто отбираешь у них мобильники, чтобы никакой умник не смог вмешаться в работу библиотеки. Как бы приват, но для чужаков, а для своих вроде как необходимый паблик.
|
Цитата:
|
в хаксе нету private? А как же инкапсуляция?... (
|
Цитата:
Цитата:
это никак не мешает что-то инкапсулировать. |
ну как не мешает... защита от глупых наследников - тоже инкапсуляция. ) Ну да. согласен, перебиться можно, конечно.
|
Цитата:
А вообще предлагаю закончить, для того чтобы мы друг друга понимали, вам бы поработать с Haxe, к слову, даже если был бы private модификатор, то это все равно можно было бы обойти. |
ну да, я на Haxe не работал, потому это просто досужие разговоры. Просто предположил, что там, как и обычно, область видимости protected - это свойства и методы, доступные для класса и для всех его наследников. private же для наследников недоступны. Вот и получается, что private инкапсулирует область видимости от вообще всех классов, включая наследников, в отличии от protected.
|
Часовой пояс GMT +4, время: 08:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.