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 相关文章推荐
在PHP3中实现SESSION的功能(二)
Oct 09 PHP
供参考的 php 学习提高路线分享
Oct 23 PHP
PHP PDO fetch 模式各种参数的输出结果一览
Jan 07 PHP
php中文繁体和简体相互转换的方法
Mar 21 PHP
php编写的一个E-mail验证类
Mar 25 PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
Jan 27 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
Apr 20 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
PHP7 list() 函数修改
Mar 09 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中使用反射技术的架构插件使用说明
2010/05/18 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
php无法连接mysql数据库的正确解决方法
2016/07/01 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
2019/03/21 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
JavaScript的单例模式 (singleton in Javascript)
2010/06/11 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
Javascript数组方法reduce的妙用之处分享
2019/06/10 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
Python的迭代器和生成器使用实例
2015/01/14 Python
python获取本地计算机名字的方法
2015/04/29 Python
用python找出那些被“标记”的照片
2017/04/20 Python
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
遗传算法之Python实现代码
2017/10/10 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
使用python绘制二维图形示例
2019/11/22 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
python编写实现抽奖器
2020/09/10 Python
毕业生求职推荐信
2013/11/04 职场文书
《中华少年》教学反思
2014/02/15 职场文书
优秀管理者事迹材料
2014/05/22 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
节约用电倡议书
2015/04/28 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
浅谈Python中对象是如何被调用的
2022/04/06 Python