Метод, получающий доступ к защищенному свойству другого объекта того же класса

Да, необходимо быть в состоянии записать в любое место под HKEY_CURRENT_USER, не имея Прав администратора. Но это - эффективно частное хранилище, к которому никакой другой пользователь на этой машине не будет в состоянии получить доступ, таким образом, Вы не сможете поместить общую конфигурацию там.

7
задан Jānis Elmeris 22 November 2009 в 13:25
поделиться

2 ответа

Это сделано специально. Возможно даже получить доступ к закрытым членам того же класса. Так что думайте о модификаторах как о классовых модификаторах, а не об объектных модификаторах.

PHP - не единственный язык, который имеет эту функцию. Например, в Java это тоже есть.

8
ответ дан 7 December 2019 в 01:22
поделиться

Это предполагаемое поведение. Защищенная переменная или функция означает, что к ней может получить доступ тот же класс или любой класс, который наследуется от этого класса. Защищенный метод может быть вызван только из класса, например, вы не можете вызывать его так:

$object = new MyClass();
$object->myProtectedFunction();

Это приведет к ошибке. Однако из определенного класса MyClass вы можете легко вызвать защищенную функцию.

То же самое применимо и к переменным. Резюме:

use PROTECTED on variables and functions when:
 1. outside-code SHOULD NOT access this property or function.
 2. extending classes SHOULD inherit this property or function.
2
ответ дан 7 December 2019 в 01:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: