Einführung in die Zugriffskontrolle von Attributen oder Methoden in PHP (Codebeispiel)

不言
Freigeben: 2023-04-04 10:54:01
nach vorne
2029 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in die Zugriffskontrolle von Attributen oder Methoden in PHP. Ich hoffe, dass er für Freunde hilfreich ist.

Zugriffskontrolle auf Attribute oder Methoden in PHP erfolgt durch Hinzufügen der Schlüsselwörter public (public), protected (protected) oder Privat (privat) zu erreichen. Auf Klassenmitglieder, die als öffentlich definiert sind, kann von überall zugegriffen werden, und auf Klassenmitglieder, die als geschützt definiert sind, können sie selbst und ihre Unterklassen und übergeordneten Klassen darauf zugreifen. Als privat definierte Klassenmitglieder können nur von der Klasse aufgerufen werden, in der sie definiert sind.

Klassenattribute müssen als öffentlich, geschützt oder privat definiert werden. Wenn es mit var definiert ist, gilt es als öffentlich. Unterklassen können die Werte öffentlicher und geschützter Eigenschaften der Basisklasse ändern. Die Klasse

<?php
class A{
    var $a="a";
    protected $b="b";
    private $c="c";
    
    function printVar(){
        echo $this->a.";".$this->b.";".$this->c.";"."\n";
    }
}
class B extends A{
    public $a="aa";
    protected $b="bb";
    private $c="cc";
}
$a=new A();
$a->printVar();
$b=new B();
$b->printVar();
?>
Nach dem Login kopieren

muss als öffentlich, geschützt oder privat definiert werden. Wenn nicht angegeben, gilt es als öffentlich. Unterklassen können öffentliche und geschützte Funktionen der Basisklasse überschreiben.

<?php
class A{
    public function fa(){
        echo "A->fa\n";
    }
    protected function fb(){
        echo "A->fb\n";
    }
    private function fc(){
        echo "A->fc\n";
    }
    function showFoo(){
        $this->fa();
        $this->fb();
        $this->fc();
    }
}
class B extends A{
    function fa(){
        echo "B->fa\n";
    }
    protected function fb(){
        echo "B->fb\n";
    }
    private function fc(){
        echo "B->fc\n";
    }
}
$a=new A();
$a->showFoo();
$b=new B();
$b->showFoo();
?>
Nach dem Login kopieren

Objekte derselben Klasse können auf die privaten und geschützten Mitglieder des anderen zugreifen, auch wenn sie nicht dieselbe Instanz sind, da die internen Implementierungsdetails dieser Objekte bekannt sind.

<?php
class A
{
    private $a;

    public function __construct($a)
    {
        $this->a = $a;
    }

    private function fa()
    {
        echo &#39;private method fa.&#39;;
    }

    public function foo(A $other,$v)
    {
        $other->a = $v;
        var_dump($other->a);
        $other->fa();
    }
}

$a = new A(&#39;a&#39;);
$aa=new A(&#39;aa&#39;);
$a->foo($aa,&#39;newA&#39;);
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEinführung in die Zugriffskontrolle von Attributen oder Methoden in PHP (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:csdn.net
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