php protected只能被继承,不可以在实例中调用,parent::调用父类(子类函数的重载对父类的函数没有影响)
<?php class 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只可以被继承,不能在实例对象中调用
posted on 2014-12-24 10:17 walter371 阅读(1526) 评论(0) 编辑 收藏 举报