Classes et objets > Contrôle d'accès(Visibilité)
Même si des objets de la même classe Les mêmes instances ne peuvent pas accéder aux membres privés et protégés des autres. En effet, les détails d'implémentation interne de ces objets sont connus.
Accéder aux membres privés du même type d'objet
<?phpclass Test{ private $foo; public function construct($foo) { $this->foo = $foo; } private function bar() { echo 'Accessed the private method.'; } public function baz(Test $other) { // We can change the private property: $other->foo = 'hello'; var_dump($other->foo); // We can also call the private method: $other->bar(); } }$test = new Test('test');$test->baz(new Test('other'));?>
//Découvrir : En passant dans l'objet instance, un accès externe aux méthodes privées et aux attributs
Classes et objets> Contrôle d'accès (Visibilité)
Les objets de la même classe peuvent accéder aux zones privées et protégées des autres même s'ils ne sont pas la même instance. . En effet, les détails d'implémentation interne de ces objets sont connus.
Accéder aux membres privés du même type d'objet
<?phpclass Test{ private $foo; public function construct($foo) { $this->foo = $foo; } private function bar() { echo 'Accessed the private method.'; } public function baz(Test $other) { // We can change the private property: $other->foo = 'hello'; var_dump($other->foo); // We can also call the private method: $other->bar(); } }$test = new Test('test');$test->baz(new Test('other'));?>
//Découvrir : en transmettant l'objet d'instance, un accès externe aux méthodes et propriétés privées est obtenu
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!