题问php是否支持多继承?
答案:不可以,只支持单继承。
如何实现多继承呢?
答案:可以使用 interface 或 trait 实现 。(推荐学习:PHP编程从入门到精通)
立即学习“PHP免费学习笔记(深入)”;
interface这里我们就不做过多的说明了,它的原理就是一个类可以实现多个接口。下面这段代码就能够说明。
interface test1{ public function connect();}interface test2{ public function contact();}// 类可以同时实现多个接口class myCode implements test1,test2{ public function connect(){ echo "test1!"; } public function contact(){ echo "test2!": }}
登录后复制
下面我们重点讨论一下trait实现多继承(其实也不叫多继承,应该叫类似多继承的功能)
那什么是trait呢?
答:看上去既像类又像接口,其实都不是,Trait可以看做类的部分实现,可以混入一个或多个现有的PHP类中,其作用有两个:表明类可以做什么;提供模块化实现。Trait是一种代码复用技术,为PHP的单继承限制提供了一套灵活的代码复用机制。
那么怎么实现trait呢?看下面代码:
//基本类class basicTest{ public function test(){ echo "hello,world"; }}//traitOnetrait traitOne{ public function test(){ echo "this is trait one"; } public function testOne(){ echo "one
"; }}//traitTwotrait traitTwo{ // public function test(){ // echo "this is trait two!"; // } public function testTwo(){ echo "Two
"; }}//继承基本类,并use traitclass myCode extends basicTest{ use traitOne,traitTwo; public function test(){ echo "hehaha!!
"; }}$obj = new myCode();$obj->testTwo();
登录后复制
注意:
优先级:自身方法>trait的方法>继承的方法
以上就是php支持多继承吗的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2155964.html