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 相关文章推荐
基于PHPExcel的常用方法总结
Jun 13 PHP
PHP_Cooikes不同页面无法传递的解决方法
Mar 07 PHP
PHP的password_hash()使用实例
Mar 17 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 PHP
ThinkPHP中的关联模型注意点
Jun 16 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
PHP处理Oracle的CLOB实例
Nov 03 PHP
Yii实现多按钮保存与提交的方法
Dec 03 PHP
php实现parent调用父类的构造方法与被覆写的方法
Feb 11 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
PHP编写登录验证码功能 附调用方法
May 19 PHP
使用vs code编辑调试php配置的方法
Jan 29 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
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
非常重要的php正则表达式详解
2016/01/04 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
AngularJS日程表案例详解
2017/08/15 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
Python 读取图片文件为矩阵和保存矩阵为图片的方法
2018/04/27 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
德国苹果商店:MacTrade
2020/05/18 全球购物
俄罗斯首家面向中国消费者的一站式购物网站:Wruru
2020/05/08 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
物流仓管员岗位职责
2013/12/04 职场文书
中文教师求职信
2014/02/22 职场文书
租赁意向书范本
2014/04/01 职场文书
学习礼仪心得体会
2014/09/01 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书
老乡会致辞
2015/07/28 职场文书
筑梦中国心得体会
2016/01/18 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
Redis 异步机制
2022/05/15 Redis
Go语言编译原理之变量捕获
2022/08/05 Golang