PHP接口继承及接口多继承原理与实现方法详解


Posted in PHP onOctober 18, 2017

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

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

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

现在你对PHP接口的继承有所了解了吧,下面的例子可供参考,代码如下:

<?php
interface father{
  function shuchu();
}
interface fam extends father{
  function cook($name);
}
class test implements fam{
  function shuchu(){
    echo "接口继承,要实现两个抽象方法";
    echo "<br>";
  }
  function cook($name){
    echo "平时经常做饭的人是:".$name;
  }
}
$t=new test();
$t->shuchu();
$t->cook("妈妈");
?>

代码运行结果如下:

接口继承,要实现两个抽象方法
平时经常做饭的人是:妈妈

上面的示例是接口继承了一个接口,所以在test类实现fam接口的时候要实例两个抽象方法,就是把接口的子类和父类的抽象方法都实例。

下面来看一个接口多继承的示例,代码如下:

<?php
interface father{
  function shuchu();
}
interface mother{
  function dayin($my);
}
interface fam extends father,mother{
  function cook($name);
}
class test implements fam{
  function dayin($my){
    echo "我的名字是:".$my;
    echo "<br>";
  }
  function shuchu(){
    echo "接口继承,要实现两个抽象方法";
    echo "<br>";
  }
  function cook($name){
    echo "平时经常做饭的人是:".$name;
  }
}
$t=new test();
$t->shuchu();
$t->dayin("小强");
$t->cook("妈妈");
?>

示例运行结果:

接口继承,要实现两个抽象方法
我的名字是:小强
平时经常做饭的人是:妈妈

这段代码由于接口继承了两个接口,所有实例时要把这三个抽象类的所有抽象方法都实例,总共有三个。看完这两个例子,你应该对接口的继承熟悉了吧,其实就一个单继承和多继承,只要实现了所有相关的抽象方法就可以了。

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

PHP 相关文章推荐
虚拟主机中对PHP的特殊设置
Oct 09 PHP
将OICQ数据转成MYSQL数据
Oct 09 PHP
php 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
php实现的Timer页面运行时间监测类
Sep 24 PHP
thinkphp中session和cookie无效的解决方法
Dec 19 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
PHP简单判断手机设备的方法
Aug 23 PHP
详谈php ip2long 出现负数的原因及解决方法
Apr 05 PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 PHP
php框架CodeIgniter主从数据库配置方法分析
May 25 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
Oct 12 PHP
PHP二维关联数组的遍历方式(实例讲解)
Oct 18 #PHP
php中各种定义变量的方法小结
Oct 18 #PHP
php 算法之实现相对路径的实例
Oct 17 #PHP
php 二维数组快速排序算法的实现代码
Oct 17 #PHP
php 数据结构之链表队列
Oct 17 #PHP
PHP实现的贪婪算法实例
Oct 17 #PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
Oct 17 #PHP
You might like
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
PHP 采集程序原理分析篇
2010/03/05 PHP
PHP 图片水印类代码
2012/08/27 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
css图片自适应大小
2007/11/28 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
2014/08/12 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
Vue的click事件防抖和节流处理详解
2019/11/13 Javascript
小程序实现录音上传功能
2019/11/22 Javascript
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
python中hashlib模块用法示例
2017/10/30 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
Python 打印中文字符的三种方法
2018/08/14 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
Python语言进阶知识点总结
2019/05/28 Python
Django 重写用户模型的实现
2019/07/29 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
python烟花效果的代码实例
2020/02/25 Python
Pycharm修改python路径过程图解
2020/05/22 Python
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
大学生演讲稿
2014/04/25 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
抖音短视频(douyin)去水印工具的实现代码
2021/03/30 Javascript
MySQL基础(二)
2021/04/05 MySQL
Python实现排序方法常见的四种
2021/07/15 Python
CSS使用SVG实现动态分布的圆环发散路径动画
2022/12/24 HTML / CSS