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

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

不言
リリース: 2023-04-04 10:54:01
転載
2055 人が閲覧しました

この記事では、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 サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート