Rumah >pembangunan bahagian belakang >tutorial php >PHP的public_protected_private权限控制详解

PHP的public_protected_private权限控制详解

不言
不言asal
2018-04-26 11:03:551325semak imbas

这篇文章介绍的内容是关于PHP的public_protected_private权限控制详解  ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

// 比较private、protected、public三者的区别

/*
      private    protected    public
本类内    Y           Y           Y
子类内   N           Y           Y
外部    N           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权限控制

Atas ialah kandungan terperinci PHP的public_protected_private权限控制详解 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP构造函数的继承Artikel seterusnya:PHP的抽象类