php protected只能被继承,不可以在实例中调用,parent::调用父类(子类函数的重载对父类的函数没有影响)
2014-12-24 10:17
423 查看
<?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只可以被继承,不能在实例对象中调用
相关文章推荐
- 父类的正常成员函数子类可以使用,并不是继承下来 的,子类是怎么调用父类的函数 : 可能是利用了一种叫函数名联编的方法.没有隐藏的情况下用函数名字来决定调用的函数.
- 子类函数使用父类类型做为参数时,调用该参数的protected变量问题
- 子类重载父类的非虚成员函数是否对从父类中继承且使用该成员函数的方法的行为产生影响
- PHP利用func_get_args和func_num_args函数实现函数重载实例
- 构造函数的继承--子类不继承父类的构造函数,只能调用
- java注解,在继承时会被子类覆盖,会被子类覆盖的函数覆盖,如果继承的子类不写注解的话,默认没有注解,即不会继承父类的注解
- 类方法和实例方法的区别,即实例方法可以调用实例方法和类方法,但是类方法只能调用类方法
- Java继承关系中,父类方法使用实例变量和调用实例方法的探究
- PHP利用func_get_args和func_num_args函数实现函数重载实例
- 通过虚函数继承,父类调用子类中函数
- php中实现可以返回多个值的函数实例
- C++和Java在 子类继承父类时,两者成员函数重写和重载的特性
- C++和Java在 子类继承父类时,两者成员函数重写和重载的特性
- 部分函数重载提示,父类没有该函数,must override or implement a supertype method
- Python基类函数的重载与调用实例分析
- Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
- 没有被实例化的类 中的 非static成员函数竟然也可以被调用。。。前提是该成员函数没有用到成员变量
- PHP父类调用子类方法,CodeIgniter中DB的继承关系
- 关于子类继承父类,父类调用被子类重载的方法是输出什么
- php实现parent调用父类的构造方法与被覆写的方法