PHP オブジェクト指向 (oop) には 3 つのアクセス権があります:
public: パブリック型
特徴: 外部から呼び出し可能、内部から呼び出し可能、サブクラス呼び出し可能
サブクラス内 クラス内では、self::var を介してパブリック メソッドまたは属性を呼び出すことができ、parent::method は、$obj->var を介して親クラスのメソッドを呼び出すことができます。 protected 保護された型
特徴: 外部からは呼び出すことはできませんが、内部からは呼び出すことができますサブクラスでは、保護されたメソッドまたはプロパティを self::var を通じて呼び出すことができ、parent::method は親クラスのメソッドを呼び出すことができます
インスタンス内で呼び出すことはできません $obj->var を使用して、保護された型のメソッドまたはプロパティを呼び出しますprivate: プライベート型
特徴: 外部から呼び出し不可、内部から呼び出し可能、サブクラスから呼び出し不可このプロパティまたはメソッドtype は in でのみ使用できます このクラスで使用すると、プライベート型のプロパティとメソッドをこのクラス、サブクラス、またはサブクラスのインスタンスで呼び出すことはできません
コード例<?php //final类不能被继承,final类不能被重写 //public 外部可调用,内部可调用,子类可调用 //protected 受保护类 外部不可调用 子类可以调用 //private私有的 外部不可调用 子类不可调用 class human{ //公有的 public $money = 1000; //受保护的 protected $che = "bmw"; //私有的 private $flower = "meigui"; //调用公有类 public function t1(){ echo $this->money; } //调用受保护的 public function t3(){ echo $this->che; } //调用私有的 public function t5(){ echo $this->flower; } } class stu extends human{ //子类调用公有的 public function t2(){ echo $this->money; } //子类调用受保护的 public function t4(){ echo $this->che; } //子类调用私有的 public function t6(){ echo $this->flower; } } //实例化对象 $stu = new stu(); echo $stu->money; echo $stu->t1(); echo $stu->t2(); echo $stu->t3(); echo $stu->t4(); echo $stu->t5(); echo $stu->t6();
b).self:: を呼び出すことができないことです。これは、$this とは異なり、現在のクラスの静的メンバー (メソッドとプロパティ) を表します。現在のオブジェクトを参照します
さらに関連する知識については、PHP 中国語 Web サイト
をご覧ください。 !以上がPHPの3つのアクセス許可(oop)の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。