PHP访问控制问题

abstract class base { 
    public function inherited() { 
        $this->overridden(); 
    } 
    private function overridden() { 
        echo 'base'; 
    } 
} 

class child extends base { 
    private function overridden() { 
        echo 'child'; 
    }
}
$test = new child();
$test->inherited();

这里为什么会输出base,我的认知是输出child啊。。


一只名叫tom的猫
浏览 564回答 1
1回答

阿晨1998

如果想显示child,你还需要重写inherited方法,如果不重写,原父类的inherited调用的也是原父类的overridden方法。所以结果为base
打开App,查看更多内容
随时随地看视频慕课网APP