Maison  >  Article  >  développement back-end  >  Contrôle d'accès (visibilité) dans les classes et objets php

Contrôle d'accès (visibilité) dans les classes et objets php

黄舟
黄舟original
2017-07-02 10:47:331732parcourir


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 &#39;Accessed the private method.&#39;;
    }    public function baz(Test $other)
    {
        // We can change the private property:
        $other->foo = &#39;hello&#39;;
        var_dump($other->foo);        // We can also call the private method:
        $other->bar();
    }
}$test = new Test(&#39;test&#39;);$test->baz(new Test(&#39;other&#39;));?>

//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 &#39;Accessed the private method.&#39;;
    }    public function baz(Test $other)
    {
        // We can change the private property:
        $other->foo = &#39;hello&#39;;
        var_dump($other->foo);        // We can also call the private method:
        $other->bar();
    }
}$test = new Test(&#39;test&#39;);$test->baz(new Test(&#39;other&#39;));?>

//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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn