class Test
{
private $private = "";
public function add($string) {
$this->private[] = $string;
}
public function evaluate(Test $container) {
return $container->private;
}
}
$test = new Test();
$test->add("zero");
$test->add("one");
$test->add("two");
$result = new Test();
print_r($result->evaluate($test));
Приведенный выше код демонстрирует дамп частной строки, как это возможно? Тогда почему это называется «частным»?«Частный» не совсем частный?
Может кто-нибудь объяснить это мне?
Выход:
Array (
[0] => one
[1] => two
[2] => four
)
Потому что вы называете это другой функцией в своем классе. Он доступен только для текущего класса и любых расширенных классов. Если вы попытаетесь напрямую вызвать '$ result-> private', это не сработает. –
Закрыто для этого класса. Вы не можете получить доступ к нему со стороны. – MurifoX
@BenFortune Я считаю, что вам не хватает вопроса, он обращается к частному атрибуту из другого экземпляра того же класса. – smassey