php接口技术实例详解


Posted in PHP onDecember 07, 2016

本文实例讲述了php接口技术。分享给大家供大家参考,具体如下:

1.接口是一种特殊的抽象类,为什么这么说呢?如果一个抽象类中所有的方法都是抽象方法,那么我们就换一种称呼,称为“接口”。

2.另外接口中不能声明变量。

3.接口中所有的成员都是public权限的。所有的子类在实现时,也一定要使用public权限去实现。

4.声明一个类的时候,我们用关键字“class”,而声明接口的时候,我们用关键字“interface”。

<?php
//定义一个接口使用interface关键字,“One”为接口名称
interface One{
  //定义一个常量
  const constant = 'constant value';
  //定义一个抽象方法fun1
  public function fun1();
  //定义了抽象方法fun2
  public function fun2();
}
?>

5.因为接口里所有的方法都是抽象方法,所以在声明抽象方法就不用像抽象类那样使用“abstract”这个关键字了,默认已经加上这个关键字了。

6.接口里面的访问权限必须为public,默认就是public,不能使用“private”和“protected”权限。

7.接口是一种特殊的抽象类,里面所有方法都是抽象方法,所以接口也不能产生实例对象。

8.我们可以用“extends”关键字让一个接口去继承另一个接口。

interface Two extends One{
  function fun3();
  function fun4();
}

9.我们定义一个接口的子类去实现接口中全部抽象方法使用的关键字是“implements”,而不是我们前面所说的“extends”。

class Three implements Two{
  function fun1() {
    ;
  }
  function fun2() {
    ;
  }
  function fun3(){
    ;
  }
  function fun4() {
    ;
  }
}
$three = new Three();
$three->fun1();

10.PHP是单继承的,一个类只能有一个父类,但一个类可以实现多个接口,就相当于一个类要遵守多个规范。使用implements实现多个接口,必须把所有接口中的方法都要实现才可以实例化对象。

11.PHP不仅可以实现多个接口,也可以在继承一个类的同时实现多个接口,一定要先继承类再去实现接口。

<?php
//使用extends继承一个类,使用implements实现多个接口
class Test extends 类名一 implements 接口一,接口二,...{
//所有接口中的方法都要实现才可以实例化对象
  ......
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
Jul 31 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
Mar 12 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
ThinkPHP3.2.1图片验证码实现方法
Aug 19 PHP
php实现压缩合并js的方法【附demo源码下载】
Sep 22 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
thinkphp框架page类与bootstrap分页(美化)
Jun 25 PHP
Laravel框架在本地虚拟机快速安装的方法详解
Jun 11 PHP
实现laravel 插入操作日志到数据库的方法
Oct 11 PHP
PHP多进程简单实例小结
Nov 09 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 #PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 #PHP
php自定义时间转换函数示例
Dec 07 #PHP
php微信公众平台开发(四)回复功能开发
Dec 06 #PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 #PHP
php微信公众平台示例代码分析(二)
Dec 06 #PHP
php微信公众平台开发(一) 配置接口
Dec 06 #PHP
You might like
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
php curl模拟post提交数据示例
2013/12/31 PHP
PHP对象、模式与实践之高级特性分析
2016/12/08 PHP
php实现每日签到功能
2018/11/29 PHP
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
js 省地市级联选择
2010/02/07 Javascript
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
获取数组中最大最小值方法js代码(自写)
2013/08/12 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
2013/10/17 Javascript
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
Python实现excel转sqlite的方法
2017/07/17 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
个人廉洁自律承诺书
2014/03/27 职场文书
就业协议书样本
2014/08/20 职场文书
办公室文员岗位职责
2015/02/04 职场文书
盗窃案辩护词
2015/05/21 职场文书
党员转正意见怎么写
2015/06/03 职场文书
早恋主题班会
2015/08/14 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
Django框架之路由用法
2022/06/10 Python