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 相关文章推荐
与数据库连接
Oct 09 PHP
超级简单的php+mysql留言本源码
Nov 11 PHP
探讨PHP调用时间格式的参数详解
Jun 06 PHP
mac下Apache + MySql + PHP搭建网站开发环境
Jun 02 PHP
php中unserialize返回false的解决方法
Sep 22 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
Sep 14 PHP
Symfony2创建基于域名的路由相关示例
Nov 14 PHP
php curl常用的5个经典例子
Jan 20 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
php实现微信企业转账功能
Oct 02 PHP
PHP implode()函数用法讲解
Mar 08 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 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
用PHP调用数据库的存贮过程!
2006/10/09 PHP
开源SNS系统-ThinkSNS
2008/05/18 PHP
PHP eval函数使用介绍
2013/12/08 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
ThinkPHP简单使用memcache缓存的方法
2016/11/15 PHP
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
wxPython中文教程入门实例
2014/06/09 Python
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
python变量不能以数字打头详解
2016/07/06 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
python中open函数的基本用法示例
2019/09/07 Python
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
医疗保健专业人士购物网站:Scrubs & Beyond
2017/02/08 全球购物
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
经理秘书找工作求职信
2013/12/19 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
英语演讲开场白
2015/05/29 职场文书
2019邀请函格式及范文
2019/05/20 职场文书