基础题::关于parent子类属性?
class a{<br /><br /> public $name="a";<br /> <br /> public function test1()<br /> {<br /> echo $this->name;<br /> }<br />}<br /><br />class b extends a<br />{<br /><br /> public $name="b";<br /> <br /> public function test2()<br /> {<br /> parent::test1();<br /> }<br />}<br /><br />$a=new b();<br />$a->test2();
按理解,调用父类中的 parent::test1(); 应该打印echo "a" ,但是结果打印的却是 echo "b",不理解?
调用父类中的方法怎么会去子类中找属性?
*如果把父类中 $name 改为private 则结果就是echo "a"
请高手指点下啊,谢谢
------解决方案--------------------print_r($a);
b Object
(
[name] => b
)
name 属性被覆盖了
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn