日期:2014-05-16  浏览次数:20525 次

基础题::关于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 属性被覆盖了