首頁  >  文章  >  後端開發  >  PHP中的public,private和protected的差別

PHP中的public,private和protected的差別

藏色散人
藏色散人原創
2019-02-21 10:26:266119瀏覽

public,private和protected稱為存取修飾符。就像C 一樣,PHP也有三個存取修飾符,如public,private和protected。可以透過在聲明前加上這些關鍵字來定義屬性,方法或常數的可見性。

PHP中的public,private和protected的差別

1.如果類別成員宣告為public,那麼它可以在任何地方存取。

2.如果類別成員宣告為protected,則只能在類別本身內以及繼承和父類別中存取它。

3.如果類別成員宣告為private,則它只能由定義該成員的類別存取。

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中的public,private和protected的差別如圖顯示錯誤,因為無法在類別外存取私有類別資料。

相關推薦:《PHP教學http://www.php.cn/course/list/29.html

本篇文章是關於PHP中的public,private和protected的區別介紹,希望對需要的朋友有幫助!

以上是PHP中的public,private和protected的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn