首页 > 代码库 > php protected只能被继承,不可以在实例中调用,parent::调用父类(子类函数的重载对父类的函数没有影响)

php protected只能被继承,不可以在实例中调用,parent::调用父类(子类函数的重载对父类的函数没有影响)

<?phpclass a {    private function fun1(){        echo ‘a1‘;    }    //protected 可以被继承,但是只能在子类中使用,不能被实例化调用    protected function fun2(){        echo ‘a2‘;    }    public function fun3(){        echo ‘a3‘;    }}class b extends a{    public function __construct(){        $this->fun2();    }    public function fun3(){        echo ‘b3‘;    }    public function fun4(){        echo ‘b4‘;        parent::fun3();    }}$b = new b();   //调用构造函数。调用父类a的fun2,输出a2$b->fun3(); //调用重载后自己的fun3,输出b3$b->fun4(); //调用自己的fun4,输出b4,然后又调用了父类的fun3(parent::调用没被重载的版本,父类的原版),输出a3//$b->fun2()  //出错,因为protecd只可以被继承,不能在实例对象中调用

 

php protected只能被继承,不可以在实例中调用,parent::调用父类(子类函数的重载对父类的函数没有影响)