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中通过ADODB库实现调用Access数据库之修正版本
Dec 31 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 PHP
领悟php接口中interface存在的意义
Jun 27 PHP
php 检查电子邮件函数(自写)
Jan 16 PHP
PHP查询快递信息的方法
Mar 07 PHP
php中session定期自动清理的方法
Nov 12 PHP
PHP使用token防止表单重复提交的方法
Apr 07 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
May 07 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
Laravel 实现添加多语言提示信息
Oct 25 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 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
一个数据采集类
2007/02/14 PHP
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
javascript document.compatMode兼容性
2010/02/23 Javascript
判断控件是否已加载完成的代码
2010/02/24 Javascript
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
javascript调试说明
2010/06/07 Javascript
JavaScript 原型链学习总结
2010/10/29 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
2012/10/11 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
jquery实现弹出层完美居中效果
2014/03/03 Javascript
Jquery中扩展方法extend使用技巧
2014/08/24 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
python操作kafka实践的示例代码
2019/06/19 Python
简单了解Python生成器是什么
2019/07/02 Python
Python 在函数上添加包装器
2020/07/28 Python
python dict如何定义
2020/09/02 Python
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
美国网上花店:JustFlowers
2017/02/12 全球购物
致跳远运动员广播稿
2014/02/11 职场文书
行政主管职责范本
2014/03/07 职场文书
学生会主席竞聘书
2014/03/31 职场文书
会计毕业生自荐书
2014/06/12 职场文书
2014年服务员工作总结
2014/11/18 职场文书
仰望星空观后感
2015/06/10 职场文书
搭建Yolov5服务器
2022/04/30 Servers