|
|
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
модификатор доступа internal
Скажите, кто-нибудь пользуется сабжем и в каких ситуациях? У меня пока активно используются все остальные модификаторы, кроме internal.
__________________
Не сломано - не чини! |
|
|||||
Регистрация: Apr 2018
Сообщений: 42
|
Appleman, ну если у тебя не было ситуаций, когда эта фича пригодилась бы, то и не парься. А если такая ситуация возникнет, то используй, раз уж она есть. В AS3 вообще свои пространства имен можно создавать. Во флексе, кажется, это активно использовалось. Но лично мне кажется, что вся эта муть только добавляет запутанности. В хаксе вон всего два варианта видимости - public и protected и ничего, никто не жалуется.
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Да просто не все то, что ты объявляешь как паблик, используется как паблик. Что-то наверняка используется только внутри пакета, ты просто не задумывался об этом. Вопрос, скорее, чистоты кода, чем строгой необходимости. Можно ведь и все приваты объявить пабликами (многие так и делают, переходя с кода в кадрах на классы). Вообще это категория больше для библиотек, то есть какого-то специфического набора классов, выполняющих одну общую задачу, нередко имеющего "фасад", обеспечивающий взаимодействие пакета с "внешним" миром, и несколько классов-утилит, которые работают себе в шахте и наружу нос не кажут. Ты просто отбираешь у них мобильники, чтобы никакой умник не смог вмешаться в работу библиотеки. Как бы приват, но для чужаков, а для своих вроде как необходимый паблик.
__________________
Reality.getBounds(this); |
|
|||||
Цитата:
__________________
местонахождение |
|
|||||
в хаксе нету private? А как же инкапсуляция?... (
__________________
while(live()) { hope(); } |
|
|||||
Цитата:
Цитата:
это никак не мешает что-то инкапсулировать.
__________________
местонахождение |
|
|||||
ну как не мешает... защита от глупых наследников - тоже инкапсуляция. ) Ну да. согласен, перебиться можно, конечно.
__________________
while(live()) { hope(); } |
|
|||||
Цитата:
А вообще предлагаю закончить, для того чтобы мы друг друга понимали, вам бы поработать с Haxe, к слову, даже если был бы private модификатор, то это все равно можно было бы обойти.
__________________
местонахождение |
|
|||||
ну да, я на Haxe не работал, потому это просто досужие разговоры. Просто предположил, что там, как и обычно, область видимости protected - это свойства и методы, доступные для класса и для всех его наследников. private же для наследников недоступны. Вот и получается, что private инкапсулирует область видимости от вообще всех классов, включая наследников, в отличии от protected.
__________________
while(live()) { hope(); } |
Часовой пояс GMT +4, время: 07:15. |
|
« Предыдущая тема | Следующая тема » |
|
|