この記事は、PHP オブジェクト指向の public private protected アクセス修飾子についての詳細な分析と紹介です。必要な友人は参照してください
PHP には 3 つのアクセス修飾子があります。つまり、
public (public 、デフォルト)
protected (プロテクト)
private (プライベート)
public (public、default) PHP5 では、クラスでメンバーのアクセス修飾子が指定されていない場合、デフォルトはパブリック アクセスです。
protected (保護された) protected として宣言されたメンバーは、このクラスのサブクラスによってのみアクセスが許可されます。
private (プライベート) プライベートとして定義されたメンバーはクラス内のすべてのメンバーに表示され、アクセス制限はありません。クラス外からのアクセスは禁止です。
イラスト
デモ
コードは次のとおりです:
class Woman{ public $name = "gaojin"; protected $age = "22"; private $height = "170"; function info(){ echo $this->name; } private function say(){ echo "这是私有的方法"; } } //$w = new Woman(); //echo $w->info(); //echo $w->name;//公共 属性 可以访问 //echo $w->age;// 受保护属性,报致命错误 //echo $w->height;// 受保护属性,报致命错误 //私有方法,访问出错 //$w->say(); // 私有方法,访问出错 class Girl extends Woman{ // 可以重新定义父类的public和protected方法,但不能定义private的 //protected $name = "jingao"; // 可以从新定义 function info(){ echo $this->name; echo $this->age; echo $this->height; } function say(){ //parent::say();//私有方法 不能被 继承 如果父类的的say方法是protected 这里就不会报错 echo "我是女孩"; } } $g = new Girl(); $g->say();//正常输出 //echo $g->height;//私有属性访问不到 没输出结果 //$g->info();//这是输出 gaojin22 $height是私有的属性没有被继承 //$g->height ="12";//这里是重新定义 height属性 也赋值了 //$g->info();//所以这里会输出来gaojin2212
以上がPHP オブジェクト指向 public private protected 3 つの修飾子のコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。