PHP基础篇 php接口interface到底有什么用?
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到底有什么用?相关推荐
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-基于接口驱动的数据层...
系列回顾 在前面的文章中,我用了大量的篇幅对UDA及ORM的使用进行了讲解和演示,我们已经知道并熟悉的使用UDA和ORM构建简单的应用,AgileEAS.NET在应用的纵向结构上建议使用分层结构,提出 ...
- C# 温故知新 基础篇(7) 接口思维导图
下面是C#继承的思维导图,全屏观看点击这里:C# 接口<思维导图>. 参考资料&进一步阅读 <C#本质论> 分类: C# 本文转自gyzhao博客园博客,原文链接:ht ...
- 接口测试工具Apifox 基础篇:接口调试
一.关于Apifox与postman的区别 和 Postman 不一样,Apifox 是区分接口设计和接口运行两个概念的. 接口设计:即 新建接口 界面或接口详情里的 编辑 界面,用途是 定义接口文档 ...
- 零基础入门 自学 JAVA SE 基础篇(九)instanceof final 开闭原则 多态 抽象(abstract)方法与抽象类 接口(interface)
JAVA SE自学 基础篇 多态 instanceof final 开闭原则 多态 抽象(abstract)方法与抽象类 接口(interface) 目标 父类型与子类型之间的转换及instanceo ...
- 菜鸟学习笔记:Java基础篇5(抽象类与接口、回调函数、内部类)
菜鸟学习笔记:Java面向对象篇下 抽象类 接口 回调函数 内部类 成员内部类 匿名内部类 抽象类 通过前面知识的学习,抽象类这个概念应该不难理解,但比较容易和后面要说的接口混淆,而且在面试中也比较爱 ...
- C++基础篇之抽象类的接口
C++基础篇之抽象类的接口 接口描述了类的行为和功能,而不需要完成类的特定实现. C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念. 如果类 ...
- 测试基础篇之(postman接口和Fiddler测试)
测试基础篇(一)postman接口测试 测试人员职责 测试流程 面试题1.介绍一下你如何使用postman进行接口测试 Get请求在传参跟post请求的区别: 面试继续引申:post数据类型有哪些? ...
- 【基础篇】Kotlin第四讲-类、对象和接口
类 类是逻辑组织的基本单元,类含有以下成分:依赖包,类名,构造方法,属性,成员方法,伴生对象,接口,父类等 类的构造方法的完整逻辑过程 先考虑主构造函数,当主构造函数不够用时,再引入从构造函数.最初的 ...
- java接口示例_【基础篇】java-接口及其示例
接口 接口是对方法的封装,它不是类,但也会编译为.class文件.接口的关键字是interface,定义方式与类相似,是一种引用数据类型.接口不能创建对象,但可以被类使用(implements,类似于 ...
最新文章
- linux 发送邮件
- jquery的四层联动插件jquerySelect
- HTML基础第四讲---图像
- 【WXS】简要介绍说明
- spring 配置只读事务_只读副本和Spring Data第3部分:配置两个实体管理器
- 使用Project Lombok减少Java应用程序中的样板代码
- Redis: Redis支持五种数据类型
- 第2章 理解memcached的内存存储
- 北斗/GPS模块输出的NMEA 0183语句详解
- 数学建模层次分析法例题及答案_数学建模之层次分析法
- 国内主流Hybrid app工具平台推荐
- MS4200 PCI串口卡驱动
- Fragment already added 问题
- Integrator积分器测试(Simulink仿真)
- Qt编写的项目作品30-录音播放控件(雨田哥作品)
- 几款好用的微信开发ui库
- 图片的分辨率大于设备分辨率或者小于设备的分辨率的显示问题
- 什么是算法?数据结构与算法概念
- excel学习——相对引用、绝对引用、混合引用
- 阿里开发手册-MySQL规约