php中访问修辞符,php面向对象public private protected 三个修饰符代码示例

本文详细介绍了PHP中面向对象的访问修饰符public、protected和private的用法。public成员对所有类和对象可见,protected成员仅限于类及其子类访问,而private成员只能在类内部访问。通过示例代码展示了不同访问修饰符的访问限制,强调了它们在类继承中的作用。
摘要由CSDN通过智能技术生成

本篇文章是对php面向对象public private protected 访问修饰符进行了详细的分析介绍,需要的朋友参考下

PHP中有三种访问修饰符,分别是:public(公共的、默认)

protected(受保护的)

private(私有的)public(公共的、默认)在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限。

protected(受保护的)被声明为protected的成员,只允许该类的子类进行访问。

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

图解

34f8a3f8fec420cc945db6db79705928.png

demo

代码如下:class Woman{

public $name = "gaojin";

protected $age = "22";

private $height = "170";

function info(){

echo $this->name;

}

private function say(){

echo "这是私有的方法";

}

}

//$w = new Woman();

//echo $w->info();

//echo $w->name;//公共

属性

可以访问

//echo $w->age;// 受保护属性,报致命错误

//echo $w->height;// 受保护属性,报致命错误

//私有方法,访问出错

//$w->say(); // 私有方法,访问出错

class Girl extends Woman{

// 可以重新定义父类的public和protected方法,但不能定义private的

//protected $name = "jingao"; // 可以从新定义

function info(){

echo $this->name;

echo $this->age;

echo $this->height;

}

function say(){

//parent::say();//私有方法 不能被

继承

如果父类的的say方法是protected 这里就不会报错

echo "我是女孩";

}

}

$g = new Girl();

$g->say();//正常输出

//echo $g->height;//私有属性访问不到 没输出结果

//$g->info();//这是输出 gaojin22 $height是私有的属性没有被继承

//$g->height ="12";//这里是重新定义 height属性 也赋值了

//$g->info();//所以这里会输出来gaojin2212

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值