程序小改动了一下
<?phpclass A {    private $a = "123";    public function gg() {
        echo $this->a . '<br />';
        echo $this->b;
    }}class B extends A {    public $a = "456";
    private $b = 'b';    public function gg() {
        echo $this->a . '<br />';
        parent::gg();
    }}$b = new B();
$b->gg();楼主把配置的display errors打开,运行这个代码或许就能看出端倪了

解决方案 »

  1.   

    第一段代码 由于设置了private $a  所以 子类不能访问 换句话说 子类赋值$a=456 不能覆盖父类!
    第二段代码 是public $a  所以子类可以访问  子类赋值$a=456   由于父类中有a属性 并且是公共的 所以覆盖了a属性!
      

  2.   

    public 子類會覆蓋父類
    private 子類不會覆蓋父類。第一個例子,因為子類的$a 不能覆蓋父類的$a,所以獲取父類的$a = 123
    第二個例子,子類的$a覆蓋了父類的$a,所以獲取父類的$a=456