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 相关文章推荐
使用无限生命期Session的方法
Oct 09 PHP
第六节--访问属性和方法
Nov 16 PHP
php strtotime 函数UNIX时间戳
Jan 14 PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
Sep 23 PHP
基于php无限分类的深入理解
Jun 02 PHP
linux命令之调试工具strace的深入分析
Jun 03 PHP
php ckeditor上传图片文件名乱码解决方法
Nov 15 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
Jan 22 PHP
PHP使用redis实现统计缓存mysql压力的方法
Nov 14 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
YII2框架使用控制台命令的方法分析
Mar 18 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
phpmyadmin的#1251问题
2006/11/25 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
yii数据库的查询方法
2015/12/28 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
15 个 JavaScript Web UI 库
2010/05/19 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
2016/06/22 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
JavaScript的数据类型转换原则(干货)
2018/03/15 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
JavaScript canvas绘制渐变颜色的矩形
2020/02/18 Javascript
介绍Python中几个常用的类方法
2015/04/08 Python
python修改操作系统时间的方法
2015/05/18 Python
Python画图学习入门教程
2016/07/01 Python
python 性能优化方法小结
2017/03/31 Python
Numpy之文件存取的示例代码
2018/08/03 Python
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
python字典的常用方法总结
2019/07/31 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
2020/04/07 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
分公司任命书
2014/06/06 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
初中英语教师个人工作总结
2015/02/09 职场文书
赞助商致辞
2015/07/30 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
教师岗位说明书
2015/09/30 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
初二数学教学反思
2016/02/17 职场文书