本文实例讲述了PHP接口多继承及tarits实现多继承效果的方法。分享给大家供大家参考,具体如下:

接口多继承

在PHP的面向对象中,接口可以继承接口。PHP类只能继承一个父类(单继承),但是接口可以实现多继承,可以继承一个或者多个接口。当然接口的继承也是和类的继承一样使用extends关键字,要多个继承的话只要用逗号把继承的接口隔开即可。

需要注意的是当你接口继承其它接口时候,直接继承父接口的静态常量属性和抽象方法,所以类实现接口时必须实现所有相关的抽象方法。

下面举例说明:

1.继承单接口

interface testA{

function echostr();

}

interface testB extends testA{

function dancing($name);

}

class testC implements testB{

function echostr(){

echo "接口继承,要实现所有相关抽象方法!";

echo "
";

}

function dancing($name){

echo $name."正在跳舞!";

}

}

$demo=new testC();

$demo->echostr();

$demo->dancing("模特");

//运行结果

/**

接口继承,要实现所有相关抽象方法

模特正在跳舞!

**/

2.继承多接口

interface testA{

function echostr();

}

interface testB{

function dancing($name);

}

interface testC extends testA,testB{

function singing($nickname);

}

class testD implements testC{

function echostr(){

echo "接口继承,要实现父接口所有相关方法!";

echo "
";

}

function dancing($name){

echo $name."正在跳舞!";

echo "
";

}

function singing($nickname){

echo $nickname."正在唱歌!";

}

}

$demo=new testD();

$demo->echostr();

$demo->dancing("模特");

$demo->singing("周杰伦");

//运行结果

/**

接口继承,要实现父接口所有相关方法!

模特正在跳舞!

周杰伦正在唱歌!

**/

tarits多继承

多继承里一个类可以同时继承多个父类,组合多个父类的功能 C++ 里就是使用这种模型来增强集成的灵活性的,但多重继承过于灵活,并且会带来“菱形继承”,故使用起来有不少困难,模型变的复杂起来,现在大多数语言都放弃了多重继承这一模型。

但有的场合想用多继承,但PHP又没多继承,于是就发明了这样的一个东西。

Traits可以理解为一组能被不同的类都能调用到的方法集合,但Traits不是类!不能被实例化。先来例子看下语法:

trait myTrait{

function traitMethod1(){}

function traitMethod2(){}

}

//然后是调用这个traits,语法为:

class myClass{

use myTrait;

}

//这样就可以通过use myTraits,调用Traits中的方法了,比如:

$obj = new myClass();

$obj-> traitMethod1 ();

$obj-> traitMethod2 ();

>

具体的介绍跟使用可以看官方的介绍。

希望本文所述对大家PHP程序设计有所帮助。

php 继承多个接口,PHP接口多继承及tarits实现多继承效果的方法相关推荐

  1. 第10章 接口、继承与多态----抽象类和接口

    一.抽象类 在解决实际问题时,一般将父类定义为抽象类,需要使用这个父类进行继承与多态处理.回想继承和多态原理,继承树中越是在上方的类越抽象,如:鸽子类继承鸟类.鸟类继承动物类等.在多态机制中,并不需要 ...

  2. JAVA 继承基本类、抽象类、接口

    Java是一个面向对象的语言,java面向对象一般有三大特征:封装.继承.多态. 封装:就是把一些属性和方法封装到一个类里. 继承:就如子类继承父类的一些属性和方法. 多态:就如一个父类有多个不同特色 ...

  3. 【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )

    文章目录 I . 接口总结 II . 接口声明 III . 接口实现 IV . 接口中的方法 V . 接口中的属性 ( 变量 / 常量 ) VI . 接口中的属性属性覆盖 ( 变量 / 常量 ) VI ...

  4. java的知识点13——多态、对象的转型(casting)、final关键字、抽象方法和抽象类、接口的作用、如何定义和使用接口?、接口的多继承、面向接口编程

    多态 多态指的是同一个方法调用,由于对象不同可能会有不同的行为.现实生活中,同一个方法,具体实现会完全不同. 多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关). 2. 多态的存在 ...

  5. PHP interface 接口继承(一丶单接口继承)

    接口可以认为是规范类的模板,具体怎么运行操作还是需要看继承的子类怎么写,具体需要注意的的地方与写法如下所示: interface 接口中的方法必须为 public 公开的: <?php inte ...

  6. Java接口及接口继承

    Java接口 开发工具与关键技术:My Eclipse 10.Java 作者:郑凯丰 撰写时间: 2019年5月2日 修饰符 :public .abstract [修饰符] interface 接口名 ...

  7. 9继承进阶_抽象类_接口

    9继承进阶_抽象类_接口 导语: 想到在写 子父类中成员变量的特点 子父类中成员函数的特点.★★★★★ 子父类中构造函数的特点.★★★★★ final关键字的使用,重点在于常量的定义 抽象类的由来,犬 ...

  8. Java接口和接口继承

    1.接口 在抽象类中,抽象方法本质上是定义接口规范,即规定高层类的接口,从而保证所有子类都有相同的接口实现,这样,多态就能发挥出威力. 如果一个抽象类没有字段,所有方法全部都是抽象方法,就可以把该抽象 ...

  9. java中接口与接口的多继承

    1.类与类之间的继承是单继承的.直接父类只有一个. 类Zi继承了类Fu(Fu是Zi的父类) 2.类与接口之间是多实现的,一个类可以实现多个接口. 类InterfaceImpl实现了接口MyInterf ...

最新文章

  1. 使用wsdl2java命令生成webservice本地调用代码
  2. 复习计算机网络基础 day4--OSI与TCP/IP初步认识
  3. 根据FileUpload控件名获取上传文件(大小)类型
  4. 通过经度纬度得到距离
  5. 收集53个程序员段子
  6. 前端学习(1394):多人管理项目14多人加密使用
  7. net 中web.config一个配置文件解决方法 (其他配置文件引入方式)
  8. adb 静默安装_怎么实现Android APP静默安装
  9. Docker创建自己的镜像库
  10. dubbo简易监控中心安装dubbo-monitor(三)
  11. P1425 小鱼的游泳时间【入门题】
  12. 在通往VR内容的道路上,音乐将成为一项重要助力
  13. ArrayList、LinkedList和Vector三者区别与联系
  14. centos mysql5.5 编译安装_centos6.4下编译安装MySQL-5.5.33
  15. windows域的创建
  16. java 实心圆,如何用css3实现实心圆
  17. java课程心得_Java课程的感想
  18. 北风网盘点2016年中国程序员薪酬状况
  19. Android仿keep运动轨迹动画,仿keep思路
  20. 显卡维修之显存位置如何确认

热门文章

  1. (Python代码)通过视差图获取图片中不同物体的高度比
  2. Android实现支持缩放平移图片
  3. 基于 frida 实现的逆向工具包 hooker
  4. JSONPath 解析 JSON 内容详解(翻译自 github)
  5. CompletableFuture详解~thenCompose
  6. Java消息服务~@JmsListener集成
  7. python列表用来有序存放一组_python入门第二课------列表
  8. circlegan_CycleGAN原理以及代码全解析
  9. python合并路径和文件名_Python实例 分割路径和文件名
  10. 关于SimpleDateFormat线程不安全的源码分析