首頁  >  文章  >  後端開發  >  PHP的public_protected_private權限控制詳解

PHP的public_protected_private權限控制詳解

不言
不言原創
2018-04-26 11:03:551299瀏覽

這篇文章介紹的內容是關於PHP的public_protected_private權限控制詳解 ,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

// 比較private、protected、public三者的區別

/*
private    protected    public
本類別內   Y           Y           Y
     N           Y
*/

class Human {
    private $name = 'zhangsan';    
    protected $money = 3000;    
    public $age = 28;    
    public function say() {
        echo &#39;我叫&#39;,$this->name,&#39;<br >&#39;;        
        echo &#39;我有&#39;,$this->money,&#39;元钱<br >&#39;;        
        echo &#39;我今年&#39;,$this->age,&#39;岁<br >&#39;;
    }
}class Stu extends Human {
    private $friend = &#39;小花&#39;;    
    public function talk() {
        echo &#39;我叫&#39;,$this->name,&#39;<br >&#39;;        
        echo &#39;我有&#39;,$this->money,&#39;元钱<br >&#39;;        
        echo &#39;我今年&#39;,$this->age,&#39;岁<br >&#39;;
    }
}
$ming = new Stu();
// 下行会报错,因为类外不能调用private属性
// Fatal error: Cannot access private property Stu::$friendecho $ming->friend;
// 下行会报错,因为类外不能调用protected属性
// Fatal error: Cannot access protected property Stu::$moneyecho $ming->money;
// 无法调用private属性的name
// Notice: Undefined property: Stu::$name$ming->talk();
// 我叫(报错)
// 我有3000元钱
// 我今年28岁
$yuan = new Human();$yuan->say();
// 我叫zhangsan// 我有3000元钱// 我今年28岁

/*

摘要:
public 可以在類別外調用,權限最為寬鬆
protected 和private不能在類別外調用

protected 可以在子類別內存取

public 和protected 可以在本類別內存取

*/

相關推薦:

PHP的privata權限控制

以上是PHP的public_protected_private權限控制詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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