ホームページ > バックエンド開発 > PHPの問題 > PHPのアクセス許可修飾子とは何ですか?

PHPのアクセス許可修飾子とは何ですか?

WBOY
リリース: 2023-03-16 13:52:02
オリジナル
2930 人が閲覧しました

PHP アクセス許可修飾子には 3 つのタイプがあります: 1. public (共有を意味し、アクセス許可の最大範囲があり、どこからでもアクセスできます); 2. protected (保護され継承されることを意味し、アクセス許可のみが可能)クラス自体によってアクセスされ、クラスの内部メンバーにアクセスできます; 3. private はプライベートを意味し、クラス定義の中括弧内でのみアクセスできます。

PHPのアクセス許可修飾子とは何ですか?

この記事の動作環境:Windows 10 システム、PHP バージョン 8.1、Dell G3 コンピューター

php のアクセス権限の種類とは修飾子

次の 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 &#39;&#39; in C:\xampp\htdocs\v\v.php on line 48
 $s->ask_age();
  ?>
ログイン後にコピー

推奨です。調査: 「

PHP ビデオ チュートリアル

以上がPHPのアクセス許可修飾子とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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