您的位置:首页 > 编程语言 > PHP开发

php的学习笔记之面向对象(五)访问修饰符

2016-03-10 20:31 681 查看
PHP中有三种访问修饰符,分别是:

public(公共的、默认)

protected(受保护的)

private(私有的)

下面我们把类看作是一个家庭的某个成员,父类表示父亲,子类表示孩子。

public(公共的、默认)在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限。被声明为public的成员,它允许本类、本类子类和所有外部成员访问。举个例子:你的样貌是可以给所有外部成员看到的。

protected(受保护的)被声明为protected的成员,只允许该类及该类的子类进行访问。比如说你的银行卡里有多少钱,只有你自己或者你的孩子知道。

private(私有的 ) 被定义为private的成员,对于类内部所有成员都可见,没有访问限制。对类外部不允许访问。

比如:你银行卡的密码,只有你自己知道。

于是乎我们可以生成如下代码:

class Father{
public  $face = "beautiful" ;      //共有成员
protected $money = "100000000";    //受保护成员
private $password = "123";         //私有成员

}
class Child extends Father{
//访问父类的受保护成员
public function getFatherMoney(){
echo "Father's money is ".$this->money."<br>";
}
//访问父类私有成员
public function getFatherPassword(){
echo "Father's password is ".$this->password."<br>";
}
}
$fa = new Father();
echo "Father's face is ".$fa->face ."<br>";
$ch = new Child();
echo "Child's face is ".$ch->face . "<br>";
$ch->getFatherMoney();
$ch->getFatherPassword();


输出结果为:



说明子类没有继承到父类的私有成员,而继承到了父类的受保护成员。



总结一下,如果你想别人都能访问的属性和方法,就设置为public权限

如果你只想分享给子类的话,就设置为protected权限

如果你只想一个类独享的话,就设置为private权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: