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
php radio 单选框获取与保持值的实现代码
May 15 PHP
PHP 验证码的实现代码
Jul 17 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
May 31 PHP
php 获取文件行数的方法总结
Oct 11 PHP
PHP中仿制 ecshop验证码实例
Jan 06 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHP设计模式之原型设计模式原理与用法分析
Apr 25 PHP
Laravel Eloquent ORM 多条件查询的例子
Oct 10 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
php图片验证码代码
2008/03/27 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
thinkPHP事务操作简单案例分析
2019/10/17 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
TypeOf这些知识点你了解吗
2016/02/21 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
jQuery 中ajax异步调用的四种方式
2016/06/28 Javascript
jquery二级目录选中当前页的css样式
2016/12/08 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
2017/02/22 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
python中日志logging模块的性能及多进程详解
2017/07/18 Python
使用python为mysql实现restful接口
2018/01/05 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
大学生职业生涯规划书范文
2014/01/04 职场文书
分公司任命书
2014/06/06 职场文书
建筑工地质量标语
2014/06/12 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python