Heim > Backend-Entwicklung > PHP-Tutorial > Zugriffskontrolle (Sichtbarkeit) in PHP-Klassen und -Objekten

Zugriffskontrolle (Sichtbarkeit) in PHP-Klassen und -Objekten

黄舟
Freigeben: 2023-03-12 11:08:01
Original
1866 Leute haben es durchsucht


Klassen und Objekte > Zugriffskontrolle(Sichtbarkeit)
Auch wenn Objekte derselben Klasse sind Nicht dieselbe Instanz kann auf die privaten und geschützten Mitglieder der anderen Instanz zugreifen. Dies liegt daran, dass die internen Implementierungsdetails dieser Objekte bekannt sind.

Zugriff auf private Mitglieder desselben Objekttyps

<?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;));?>
Nach dem Login kopieren
Nach dem Login kopieren

//Erkennen: Durch Übergabe des Instanzobjekts externer Zugriff auf private Methoden und Attribute

Klassen und Objekte> Zugriffskontrolle (Sichtbarkeit)
Objekte derselben Klasse können auf die privaten und geschützten Bereiche der anderen zugreifen, auch wenn sie nicht dasselbe Mitglied sind . Dies liegt daran, dass die internen Implementierungsdetails dieser Objekte bekannt sind.

Zugriff auf private Mitglieder desselben Objekttyps

<?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;));?>
Nach dem Login kopieren
Nach dem Login kopieren

//Erkennen: Durch die Übergabe des Instanzobjekts wird externer Zugriff auf private Methoden und Eigenschaften erreicht

Das obige ist der detaillierte Inhalt vonZugriffskontrolle (Sichtbarkeit) in PHP-Klassen und -Objekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage