PHP中的继承是一种非常强大的特性,它可以让子类继承父类的属性和方法,避免了重复编写代码的问题。在实际开发过程中,我们常常需要在子类中重写父类方法,以满足特定需求。但有时候我们并不需要调用父类的方法,这时候该如何处理呢?
在PHP中,当我们重写一个方法时,并不是必须要调用父类的方法的。如果我们在子类中实现了同名方法,那这个方法就会覆盖掉父类中的同名方法。如果我们需要使用父类的方法,可以采用以下两种方式:
使用parent关键字调用父类方法当我们在子类中重写一个方法时,可以使用parent关键字来调用父类的方法。具体实现方法如下:
在上述代码中,我们先定义了一个父类ParentClass和一个子类SubClass,子类SubClass继承自父类ParentClass。我们在子类中重写了父类的方法func(),并且使用parent::fun()语句调用了父类的方法。当我们运行$obj->func()时,会先输出父类的方法内容,再输出子类的方法内容。
不使用parent关键字如果我们在子类中重写了一个方法,但是不需要使用父类的方法内容,那么我们也可以不使用parent关键字。具体实现方法如下:
上述代码与前面的代码类似,只是在子类中重写父类的方法时,没有使用parent::fun()语句调用父类的方法。当我们运行$obj->func()时,只会输出子类的方法内容,没有输出父类的方法内容。
需要注意的是,如果我们在子类中重写了父类的构造函数,那么一定要在子类的构造函数中调用父类的构造函数,否则子类对象无法生成。具体实现方法如下:
在上述代码中,我们先定义了一个父类ParentClass和一个子类SubClass,子类SubClass继承自父类ParentClass。我们在子类中重写了父类的构造函数,并使用parent::__construct($name)语句调用父类的构造函数。当我们生成子类对象$obj时,会调用子类的构造函数,并通过parent::__construct($name)调用父类的构造函数,从而给子类属性赋值。最后,我们输出子类的属性值$obj->name,结果为Tom。
总结来说,当我们在子类中重写父类方法时,如果需要使用父类的方法内容,可以使用parent关键字调用父类的方法;如果不需要使用父类的方法内容,可以直接在子类中重写方法。无论哪种方式,都可以很好地处理父类方法的调用问题。
以上就是php 不调用父类的详细内容,更多请关注php中文网其它相关文章!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
暂无评论内容