PHP アクセス許可修飾子には 3 つのタイプがあります: 1. public (共有を意味し、アクセス許可の最大範囲があり、どこからでもアクセスできます); 2. protected (保護され継承されることを意味し、アクセス許可のみが可能)クラス自体によってアクセスされ、クラスの内部メンバーにアクセスできます; 3. private はプライベートを意味し、クラス定義の中括弧内でのみアクセスできます。
この記事の動作環境:Windows 10 システム、PHP バージョン 8.1、Dell G3 コンピューター
次の 3 つのタイプがあります:
public Shared
protected protected、継承
プライベート プライベート
詳細な紹介:
パブリック:
パブリック型は、クラス内、サブクラス内、またはクラス外で制限なく使用できます
機能: 外部呼び出し可能、内部呼び出し可能、サブクラス呼び出し可能
サブクラスでは、 self::var を介してパブリック メソッドまたは属性を呼び出すことができ、parent::method は親クラス メソッドを呼び出します。
インスタンスでは、$obj->var を介してパブリック タイプを呼び出すことができます。または属性
#protected:#保護された型はクラスおよびサブクラス内で使用できますが、クラス外では使用できません
機能: 呼び出し可能ではありませんサブクラスはそれを呼び出すことができます
#サブクラスでは、保護されたメソッドまたはプロパティを self::var を通じて呼び出すことができ、parent::method は親クラスのメソッドを呼び出しますメソッドまたはプロパティ保護された型のは、インスタンスprivate:
プライベート タイプの $obj->var を通じて呼び出すことはできません。クラス内でのみ使用でき、クラス内でのみ使用できます。クラス外またはサブクラス内で使用されます。
特徴: 外部から呼び出し不可、内部から呼び出し可能、サブクラスから呼び出し不可この型の属性またはメソッドは、このクラス、このクラスのインスタンスおよびサブクラスでのみ使用できます。プライベート型プロパティとメソッドはサブクラスのインスタンスで呼び出すことはできません。例は次のとおりです。メソッドを作成するとき、指定されていない場合、デフォルトは public<?php class EMBA_student // 声明EMBA学生类 { //用private来定义私有类的属性 private $no; //序号 private $name; // 姓名 private $gender; //性别 private $age; //年龄 //方法 //方法1 ,私有方法,输出年龄 private function show_age() { echo"我的年龄是:$this->age<br />"; } //方法2,公有方法,回答年龄 public function ask_age() { $this->show_age(); } //方法3,设置数据 function set_data($arr){ $this->no=$arr["no"]; $this->name=$arr["name"]; $this->gender=$arr["gender"]; $this->age=$arr["age"]; } } //实例化一个对象 $s=new EMBA_student; $arr=array("no"=>"1","name"=>"Qian Zhang","gender"=>"Female","age"=>"33","department"=>"商业营销"); $s->set_data($arr); //echo $s->age;//Fatal error: Cannot access private property EMBA_student::$age in C:\xampp\htdocs\v\v.php on line 47 //$s->show_age(); //Fatal error: Call to private method EMBA_student::show_age() from context '' in C:\xampp\htdocs\v\v.php on line 48 $s->ask_age(); ?>
PHP ビデオ チュートリアル
」以上がPHPのアクセス許可修飾子とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。