ホームページ > バックエンド開発 > PHPチュートリアル > PHP におけるパブリック、プライベート、プロテクトの違い

PHP におけるパブリック、プライベート、プロテクトの違い

藏色散人
リリース: 2023-04-05 11:04:01
オリジナル
6163 人が閲覧しました

public、private、および protected は、アクセス修飾子と呼ばれます。 C と同様に、PHP にも public、private、protected という 3 つのアクセス修飾子があります。プロパティ、メソッド、または定数の可視性は、これらのキーワードを宣言の前に置くことで定義できます。

PHP におけるパブリック、プライベート、プロテクトの違い

#1. クラス メンバーが public に宣言されている場合、どこからでもアクセスできます。

2. クラス メンバーが保護されていると宣言されている場合、クラス自体、継承クラスおよび親クラス内でのみアクセスできます。

3. クラス メンバーがプライベートとして宣言されている場合、そのメンバーを定義するクラスのみがアクセスできます。

public: この修飾子は内部と外部の両方で使用できます。

例:

<?php

class pub {
    public $tag_line = "PHP中文网!";
    function display() {
        echo $this->tag_line."<br/>";
    }
}

class child extends pub {
    function show(){
        echo $this->tag_line;
    }
}

$obj= new child;

echo $obj->tag_line."<br/>";

$obj->display();

$obj->show();
ログイン後にコピー

出力:

PHP中文网!
PHP中文网!
PHP中文网!
ログイン後にコピー

protected: この修飾子は、それが定義されているクラスおよびその親または継承されたクラスで使用できます。クラス 。

例:

<?php 
  
class pro { 
    protected $x = 500; 
    protected $y = 500; 
              
    function sub()  
    { 
        echo $sum=$this->x-$this->y . "<br/>"; 
    }      
}  
  
class child extends pro { 
    function mul() 
    { 
        echo $sub=$this->x*$this->y; 
    } 
}  
  
$obj= new child; 
$obj->sub(); 
$obj->mul(); 
?>
ログイン後にコピー

出力:

0 
250000
ログイン後にコピー

private: この修飾子は、それが定義されているクラスで使用できます。 (継承クラスを意味するため、クラス外からはアクセスできません)。

例:

<?php

class demo {
    private $name="PHP中文网";

    private function show()
    {
        echo "这是基(父)类的私有方法";
    }
}

class child extends demo {
    function display()
    {
        echo $this->name;
    }
}

$obj= new child;
$obj->show();
$obj->display();
ログイン後にコピー

出力: PHP におけるパブリック、プライベート、プロテクトの違い図に示されているエラーは、プライベート クラス データにクラスの外部からアクセスできないためです。

関連する推奨事項: 「PHP チュートリアル http://www.php.cn/course/list/29.html

この記事この記事は、PHP におけるパブリック、プライベート、プロテクトの違いを紹介するもので、困っている友人のお役に立てれば幸いです。

以上がPHP におけるパブリック、プライベート、プロテクトの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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