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