读书人

基础题:关于parent子类属性?解决方案

发布时间: 2014-01-12 00:03:16 作者: rapoo

基础题::关于parent子类属性?

class a{

public $name="a";

public function test1()
{
echo $this->name;
}
}

class b extends a
{

public $name="b";

public function test2()
{
parent::test1();
}
}

$a=new b();
$a->test2();


按理解,调用父类中的 parent::test1(); 应该打印echo "a" ,但是结果打印的却是 echo "b",不理解?
调用父类中的方法怎么会去子类中找属性?

*如果把父类中 $name 改为private 则结果就是echo "a"

请高手指点下啊,谢谢

[解决办法]
print_r($a);

b Object
(
[name] => b
)

name 属性被覆盖了

读书人网 >PHP

热点推荐