ホームページ  >  記事  >  バックエンド開発  >  PHP における属性またはメソッドのアクセス制御の概要 (コード例)

PHP における属性またはメソッドのアクセス制御の概要 (コード例)

不言
不言転載
2018-10-25 16:44:352017ブラウズ

この記事では、PHP での属性またはメソッドのアクセス制御の概要 (コード例) を紹介します。一定の参考値があります。必要な友人は参照できます。お役に立てば幸いです。

PHP のプロパティまたはメソッドのアクセス制御は、キーワード public (パブリック)、protected (保護)、または プライベート(プライベート)を実現する。 public として定義されたクラス メンバーはどこからでもアクセスでき、protected として定義されたクラス メンバーはそれ自身、そのサブクラス、親クラスからアクセスできます。プライベートとして定義されたクラス メンバーには、そのメンバーが定義されているクラスのみがアクセスできます。

クラス属性は、public、protected、または private として定義する必要があります。 var で定義されている場合は、パブリックとみなされます。サブクラスは、基本クラスの public および protected プロパティの値を変更できます。

<?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();
?>

クラスは、public、protected、または private として定義する必要があります。指定しない場合はパブリックとみなされます。サブクラスは、基本クラスのパブリック関数とプロテクト関数をオーバーライドできます。

<?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();
?>

同じクラスのオブジェクトは、同じインスタンスでなくても、互いのプライベート メンバーや保護されたメンバーにアクセスできます。これは、これらのオブジェクトの内部実装の詳細がわかっているためです。

rree

以上がPHP における属性またはメソッドのアクセス制御の概要 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。