php 继承多个接口,PHP接口多继承及tarits实现多继承效果的方法
本文实例讲述了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实现多继承效果的方法相关推荐
- 第10章 接口、继承与多态----抽象类和接口
一.抽象类 在解决实际问题时,一般将父类定义为抽象类,需要使用这个父类进行继承与多态处理.回想继承和多态原理,继承树中越是在上方的类越抽象,如:鸽子类继承鸟类.鸟类继承动物类等.在多态机制中,并不需要 ...
- JAVA 继承基本类、抽象类、接口
Java是一个面向对象的语言,java面向对象一般有三大特征:封装.继承.多态. 封装:就是把一些属性和方法封装到一个类里. 继承:就如子类继承父类的一些属性和方法. 多态:就如一个父类有多个不同特色 ...
- 【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )
文章目录 I . 接口总结 II . 接口声明 III . 接口实现 IV . 接口中的方法 V . 接口中的属性 ( 变量 / 常量 ) VI . 接口中的属性属性覆盖 ( 变量 / 常量 ) VI ...
- java的知识点13——多态、对象的转型(casting)、final关键字、抽象方法和抽象类、接口的作用、如何定义和使用接口?、接口的多继承、面向接口编程
多态 多态指的是同一个方法调用,由于对象不同可能会有不同的行为.现实生活中,同一个方法,具体实现会完全不同. 多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关). 2. 多态的存在 ...
- PHP interface 接口继承(一丶单接口继承)
接口可以认为是规范类的模板,具体怎么运行操作还是需要看继承的子类怎么写,具体需要注意的的地方与写法如下所示: interface 接口中的方法必须为 public 公开的: <?php inte ...
- Java接口及接口继承
Java接口 开发工具与关键技术:My Eclipse 10.Java 作者:郑凯丰 撰写时间: 2019年5月2日 修饰符 :public .abstract [修饰符] interface 接口名 ...
- 9继承进阶_抽象类_接口
9继承进阶_抽象类_接口 导语: 想到在写 子父类中成员变量的特点 子父类中成员函数的特点.★★★★★ 子父类中构造函数的特点.★★★★★ final关键字的使用,重点在于常量的定义 抽象类的由来,犬 ...
- Java接口和接口继承
1.接口 在抽象类中,抽象方法本质上是定义接口规范,即规定高层类的接口,从而保证所有子类都有相同的接口实现,这样,多态就能发挥出威力. 如果一个抽象类没有字段,所有方法全部都是抽象方法,就可以把该抽象 ...
- java中接口与接口的多继承
1.类与类之间的继承是单继承的.直接父类只有一个. 类Zi继承了类Fu(Fu是Zi的父类) 2.类与接口之间是多实现的,一个类可以实现多个接口. 类InterfaceImpl实现了接口MyInterf ...
最新文章
- 使用wsdl2java命令生成webservice本地调用代码
- 复习计算机网络基础 day4--OSI与TCP/IP初步认识
- 根据FileUpload控件名获取上传文件(大小)类型
- 通过经度纬度得到距离
- 收集53个程序员段子
- 前端学习(1394):多人管理项目14多人加密使用
- net 中web.config一个配置文件解决方法 (其他配置文件引入方式)
- adb 静默安装_怎么实现Android APP静默安装
- Docker创建自己的镜像库
- dubbo简易监控中心安装dubbo-monitor(三)
- P1425 小鱼的游泳时间【入门题】
- 在通往VR内容的道路上,音乐将成为一项重要助力
- ArrayList、LinkedList和Vector三者区别与联系
- centos mysql5.5 编译安装_centos6.4下编译安装MySQL-5.5.33
- windows域的创建
- java 实心圆,如何用css3实现实心圆
- java课程心得_Java课程的感想
- 北风网盘点2016年中国程序员薪酬状况
- Android仿keep运动轨迹动画,仿keep思路
- 显卡维修之显存位置如何确认
热门文章
- (Python代码)通过视差图获取图片中不同物体的高度比
- Android实现支持缩放平移图片
- 基于 frida 实现的逆向工具包 hooker
- JSONPath 解析 JSON 内容详解(翻译自 github)
- CompletableFuture详解~thenCompose
- Java消息服务~@JmsListener集成
- python列表用来有序存放一组_python入门第二课------列表
- circlegan_CycleGAN原理以及代码全解析
- python合并路径和文件名_Python实例 分割路径和文件名
- 关于SimpleDateFormat线程不安全的源码分析