Вопросы с тегом «access-modifiers»

Модификатор доступа - это концепция ООП. Он определяет, какой уровень доступа или видимости имеет конкретное свойство / метод / класс.

7
Разве доступ к «частному пакету» не является синонимом доступа по умолчанию (без модификатора)?
Я немного смущен термином «частный пакет», который используется в некоторых документах, наряду с использованием «доступа по умолчанию». Разве частный доступ к пакету и доступ по умолчанию не являются синонимами защищенного?


7
Действительно ли приватные методы безопасны?
В Java privateмодификатор доступа считается безопасным, так как он не виден вне класса. Тогда и внешний мир не знает об этом методе. Но я думал, что отражение в Java может нарушить это правило. Рассмотрим следующий случай: public class ProtectedPrivacy{ private String getInfo(){ return "confidential"; } } Теперь из другого класса …

2
Инициализатор недоступен из-за «внутреннего» уровня защиты
У меня есть протоколы ВойтиСтратегия public protocol LoginStrategy { func login(_ viewController: UIViewController) func getUserInfo(withCompletionHandler completionHandler: @escaping (_ userInfo: [String: Any]?) -> ()) func createLoginButton(_ frame: CGRect, withCompletionHandler completionHandler: @escaping (_ loginButton: UIView) -> ()) func getUserId() -> String } и два класса: LoginProvider public class LoginProvider { public let …

5
Статический блок в Java не выполняется
class Test { public static void main(String arg[]) { System.out.println("**MAIN METHOD"); System.out.println(Mno.VAL); // SOP(9090); System.out.println(Mno.VAL + 100); // SOP(9190); } } class Mno { final static int VAL = 9090; static { System.out.println("**STATIC BLOCK OF Mno\t: " + VAL); } } Я знаю, что staticблок выполняется при загрузке класса. Но …

1
Публичный псевдоним для непубличного типа
Интересно, действительно ли это C ++: class Test { struct PrivateInner { PrivateInner(std::string const &str) { std::cout << str << "\n"; } }; public: using PublicInner = PrivateInner; }; //Test::PrivateInner priv("Hello world"); // Ok, private so we can't use that Test::PublicInner publ("Hello World"); // ?, by using public alias we …

1
Какая польза от менее строгих модификаторов доступа к членам, чем модификатор доступа к классу?
Скажем, у меня есть класс с некоторыми членами, и члены имеют менее ограничительный модификатор доступа, чем сам класс. Конкретный пример может быть: package apples; class A { // package private public int foo() { // public (=> less restrictive than *package private*) return 42; } } Насколько я понимаю, модификатор …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.