首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

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

2013-11-13 
子类重写父类属性的问题。。。。求解惑?php/** * 子类重写父类方法和属性 **/class Employer{protected $sal

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


<?php
/**
 * 子类重写父类方法和属性
 **/
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,换成私有的就不能被重新赋值。

热点排行