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

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

黄舟
Libérer: 2023-03-12 11:08:01
original
1887 Les gens l'ont consulté


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;));?>
Copier après la connexion
Copier après la connexion

//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;));?>
Copier après la connexion
Copier après la connexion

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

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal