1.子类无法访问父类private 属性和方法

2.不支持方法的重载

<?phpclass _Parent{
    //子类中无法访问父类private属性 protected可以
    private  $data = "parent";    protected   $data2 = "protected data";    public function _print()
    {
        echo $this->data . "<br>";
    }
}class childA extends _Parent{}class childB extends _Parent{

    protected $data = "childB"; // 覆盖父类的属性
                              // 覆盖父类的方法
    public function _print()
    {
        echo $this->data . "<br>";
    }
}class childC extends _Parent{
    public  function  other(){
       // echo  $this->data; 错误 不能访问父中 private属性
        echo  $this->data2;
    }    //错误  无法重载方法 若要重写  必须参数和返回值相同
    public  function _print($d)
    {
        echo  $this->data2 . $d;
    }
}
$A = new childA();
$B = new childB();
$C = new childC();
$A->_print();
$B->_print();
$C->other();
//错误 PHP不支持方法的重载
$C->_print(",hi");
?>
登录后复制

以上就是PHP入门8 面向对象1 方法和属性的覆盖 访问父类的内容,更多相关内容请关注Work网(www.php.cn)!


09-10 01:52