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 Ajax实现页面无刷新发表评论
Jan 02 PHP
php 魔术函数使用说明
Feb 21 PHP
简单的PHP留言本实例代码
May 09 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
May 16 PHP
php生成N个不重复的随机数实例
Nov 12 PHP
php+js iframe实现上传头像界面无跳转
Apr 29 PHP
PHP实现生成唯一编号(36进制的不重复编号)
Jul 01 PHP
PHP的魔术常量__METHOD__简介
Jul 08 PHP
php面向对象编程self和static的区别
May 08 PHP
PHP 中常量的知识整理
Apr 14 PHP
详解php中的implements 使用
Jun 13 PHP
yii2.0框架场景的简单使用示例
Jan 25 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/03/03 PHP
php操作excel文件 基于phpexcel
2010/07/02 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
Windows下php+mysql5.7配置教程
2017/05/16 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
JavaScript小技巧 2.5 则
2010/09/12 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
微信小程序分享海报生成的实现方法
2018/12/10 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
Python进行数据科学工作的简单入门教程
2015/04/01 Python
Python中的pass语句使用方法讲解
2015/05/14 Python
Python之re操作方法(详解)
2017/06/14 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
英国运动服、设备及配件网站:DW Sports
2019/12/04 全球购物
标准自荐信范文
2014/01/29 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
Golang表示枚举类型的详细讲解
2021/09/04 Golang
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python