PHP接口(interface)的特点 
1、接口的方法必须是公开的。 
2、接口的方法默认是抽象的,所以不在方法名前面加abstract。 
3、接口可以定义常量,但不能定义成员属性,常量的定义和用法和类中常量一样。 
4、类可以实现多个接口(相当于把多个功能集于一身,如手机实现了小灵通、MP3、MP4的功能) 
5、接口也可以继承接口。

PHP同大多数的面向对象语言一样,并不支持多重继承。如果需要实现多重继承功能,在PHP中,可以通过接口,它是PHP解决多重继承问题的方法,在php5.4版本之后有个类的新特性trait,有兴趣的可以百度下。

接口的思想是指定一个实现了该接口的类必须实现的一系列函数。如果没有实现接口中指定的方法,将产生一个致命错误。

当有很多人一起开发一个项目时,可能都会去调用别人写的一些类,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个时候PHP接口类interface就起到作用了,当我们定义了一个接口类时,它里面的方式是下面的子类必须实现的,比如 :

接口interface 是一个规定,给人继承用的东西,有点像抽象类
在里面定义的方法,却不去实例化,而需要别的类去implements 它,而且必须一一实现接口定义的所有方法,

举个例子
interface Shop
{
public function buy($gid);
public function sell($gid);
public function view($gid);
}
我声明一个shop接口类,定义了三个方法:买(buy),卖(sell),看(view),那么继承此类的所有子类都必须实现这3个方法少一个都 不行,如果子类没有实现这些话,就无法运行。实际上接口类说白了,就是一个类的模板,一个类的规定,如果你属于这类,你就必须遵循我的规定,少一个都不 行,但是具体你怎么去做,我不管,那是你的事,如:

class BaseShop implements Shop
{
public function buy($gid)
{
echo('你购买了ID为 :'.$gid.'的商品');
}
public function sell($gid)
{
echo('你卖了ID为 :'.$gid.'的商品');
}
public function view($gid)
{
echo('你查看了ID为 :'.$gid.'的商品');
}
}

PHP基础篇 php接口interface到底有什么用?相关推荐

  1. 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-基于接口驱动的数据层...

    系列回顾 在前面的文章中,我用了大量的篇幅对UDA及ORM的使用进行了讲解和演示,我们已经知道并熟悉的使用UDA和ORM构建简单的应用,AgileEAS.NET在应用的纵向结构上建议使用分层结构,提出 ...

  2. C# 温故知新 基础篇(7) 接口思维导图

    下面是C#继承的思维导图,全屏观看点击这里:C# 接口<思维导图>. 参考资料&进一步阅读 <C#本质论> 分类: C# 本文转自gyzhao博客园博客,原文链接:ht ...

  3. 接口测试工具Apifox 基础篇:接口调试

    一.关于Apifox与postman的区别 和 Postman 不一样,Apifox 是区分接口设计和接口运行两个概念的. 接口设计:即 新建接口 界面或接口详情里的 编辑 界面,用途是 定义接口文档 ...

  4. 零基础入门 自学 JAVA SE 基础篇(九)instanceof final 开闭原则 多态 抽象(abstract)方法与抽象类 接口(interface)

    JAVA SE自学 基础篇 多态 instanceof final 开闭原则 多态 抽象(abstract)方法与抽象类 接口(interface) 目标 父类型与子类型之间的转换及instanceo ...

  5. 菜鸟学习笔记:Java基础篇5(抽象类与接口、回调函数、内部类)

    菜鸟学习笔记:Java面向对象篇下 抽象类 接口 回调函数 内部类 成员内部类 匿名内部类 抽象类 通过前面知识的学习,抽象类这个概念应该不难理解,但比较容易和后面要说的接口混淆,而且在面试中也比较爱 ...

  6. C++基础篇之抽象类的接口

    C++基础篇之抽象类的接口 接口描述了类的行为和功能,而不需要完成类的特定实现. C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念. 如果类 ...

  7. 测试基础篇之(postman接口和Fiddler测试)

    测试基础篇(一)postman接口测试 测试人员职责 测试流程 面试题1.介绍一下你如何使用postman进行接口测试 Get请求在传参跟post请求的区别: 面试继续引申:post数据类型有哪些? ...

  8. 【基础篇】Kotlin第四讲-类、对象和接口

    类 类是逻辑组织的基本单元,类含有以下成分:依赖包,类名,构造方法,属性,成员方法,伴生对象,接口,父类等 类的构造方法的完整逻辑过程 先考虑主构造函数,当主构造函数不够用时,再引入从构造函数.最初的 ...

  9. java接口示例_【基础篇】java-接口及其示例

    接口 接口是对方法的封装,它不是类,但也会编译为.class文件.接口的关键字是interface,定义方式与类相似,是一种引用数据类型.接口不能创建对象,但可以被类使用(implements,类似于 ...

最新文章

  1. linux 发送邮件
  2. jquery的四层联动插件jquerySelect
  3. HTML基础第四讲---图像
  4. 【WXS】简要介绍说明
  5. spring 配置只读事务_只读副本和Spring Data第3部分:配置两个实体管理器
  6. 使用Project Lombok减少Java应用程序中的样板代码
  7. Redis: Redis支持五种数据类型
  8. 第2章 理解memcached的内存存储
  9. 北斗/GPS模块输出的NMEA 0183语句详解
  10. 数学建模层次分析法例题及答案_数学建模之层次分析法
  11. 国内主流Hybrid app工具平台推荐
  12. MS4200 PCI串口卡驱动
  13. Fragment already added 问题
  14. Integrator积分器测试(Simulink仿真)
  15. Qt编写的项目作品30-录音播放控件(雨田哥作品)
  16. 几款好用的微信开发ui库
  17. 图片的分辨率大于设备分辨率或者小于设备的分辨率的显示问题
  18. 什么是算法?数据结构与算法概念
  19. excel学习——相对引用、绝对引用、混合引用
  20. 阿里开发手册-MySQL规约

热门文章

  1. H5,Audio音乐播放器(移动版)
  2. vs2010 无法启动程序 系统找不到指定的文件
  3. 12、Zabbix 结合Grafana
  4. 六十分之五——时间都去哪儿了?
  5. vue虚拟DOM原理
  6. 剖析非同质化代币ERC721-全面解析ERC721标准
  7. 百度地图实现普通地图、卫星图、三维图、混合图(卫星图+路网)
  8. 最小安装CentOS 7.6 Linux系统(无UI界面纯命令行,虚拟机教学)
  9. 关键字 - restrict
  10. c语言 --- 指针