+ -
当前位置:首页 → 问答吧 → :) 请教OOP达人关于类继承中的方法调用疑问。

:) 请教OOP达人关于类继承中的方法调用疑问。

时间:2010-01-27

来源:互联网

我有一个父类
class WebDev{

protected function editImage (){
        
    }
}

我还有一个子类继承自"Web开发"类
class JqueryDev extends WebDev{
   parent::editImage();//第一种调用父类方法的方式;
  $this->editImage();//第二种调用父类方法的方式;
}

请问如上两种有什么细微的不同吗?
为什么在php的对象模型中存在着这两种方式的方法访问模式?

作者: mofe   发布时间: 2010-01-27

这两种方式一样,一个是PHP4的 $this->editimage();这个是parent::enditimage()php5的

作者: yuejide   发布时间: 2010-01-28

THANK YOU

作者: bliuyanan   发布时间: 2010-01-28

谢谢

作者: mofe   发布时间: 2010-01-28

学习,,,parent::enditimage    ?      WebDev::enditimage ?

作者: aqqiu   发布时间: 2010-01-28

额。。1楼说的好像有很大错误。。php5的调用也是parent。谢谢。。


parent用于在重写父类方法时同时调用。而$this为直接调用,当重写方法后$this->func会宕机-_-!!

作者: cain   发布时间: 2010-01-29

this-> editImage ()可以看成本类对象的引用调用本类方法,此方法是从父类继承得来;
parent:: editImage ()是直接调用父类的方法,在java中是super调用;
此例中子类未重写父类方法,所以看似结果一样,其实意义不然;
凡事不能只看表象要了解本质;

作者: basesonic   发布时间: 2010-01-29

楼上说的太好了,要补充一点的是,还可以使用 ParentClassName::Method()的方式访问指定父类的指定方法偶。

作者: mofe   发布时间: 2010-01-29

相关阅读 更多

热门下载

更多