首页 >后端开发 >php教程 >PHP入门8 面向对象1 方法和属性的覆盖 访问父类

PHP入门8 面向对象1 方法和属性的覆盖 访问父类

PHP中文网
PHP中文网原创
2016-07-28 08:26:201034浏览

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  方法和属性的覆盖 访问父类的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn