找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 php教程 查看内容

子类重写父类属性的有关问题。求解惑

作者:模板之家 2020-3-29 12:34 131人关注

子类重写父类属性的问题。。。。求解惑?php/***子类重写父类方法和属性**/classEmployer{protected$sal=3000;public&nbs,子类重写父类属性的有关问题。求解惑

子类重写父类属性的问题。。。。求解惑

/**
 *  子类重写父类方法和属性
 **/
class Employer
{
protected $sal=3000;
public function getSal()
{
return $this->sal;
}

}

class Manager extends Employer
{
protected $sal=5000;
public function getParentSal()
{
return parent::getSal(); //调用父类方法 返回父类属性,为什么会是5000
}
public function getSal()
{
return $this->sal;
}
}
$manager = new Manager;
echo $manager->getParentSal().PHP_EOL;//5000 这是为什么也是5000呢,但是在5.3以下版本好像是3000,求解释????
echo $manager->getSal();//5000
?>
php 子类重写父类属性的问题

------解决方案--------------------
为什么不呢?

5.2.10
5000 5000

5.4.20
5000 5000
------解决方案--------------------
protected 只不过是保护模式,自然还是会被子类覆盖的
------解决方案--------------------
把protected 换成 private,换成私有的就不能被重新赋值。

路过

雷人

握手

鲜花

鸡蛋
原作者: 互联网 来自: 网络收集

全部回复(0)