接口定义了实现某种服务的一般规范,声明了所需的函数和常量,但不指定如何实现。
我们这里说的接口,不是指api接口,而是面向对象中的接口interface
api接口:英文全称Application Programming Interface,翻译为“应用程序编程接口”。是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
有很多网站提供了一些api接口,如微信公众号接口,天气预报接口,百度地图接口等
面向对象中的接口:在大型项目开发中使用,用于约束团队协作的,interface接口规定没有定义的函数,其他开发人员继承,必须在按照里面的名称进行定义,不能少一个函数也不能多一个函数,这样就能约束和管理其他开发者
下面来看一个例子
<?php
interface IA
{
const name = "常量";
public function methodA();
}
interface IB
{
public function methodB();
}
class Demo1 implements IA
{
public function methodA()
{
echo '执行了方法methoda';
}
}
class Demo2 implements IA,IB
{
public function methodA()
{
echo '执行了方法methoda';
}
public function methodB()
{
echo '执行了方法methodb';
}
}
$a = new Demo1();
$a->methoda();
$b = new Demo2();
$b->methoda();
$b->methodb();
从上面的例子中可以看出,接口和抽象类相似,方法不能有具体的实现,也就是没有方法体
但一个类可以实现(就是继承的意思)多个接口,比如demo2类实现了两个接口;但类只能继承一个父类
另外,接口中不定义类成员!类成员的定义完全交给实现类来完成。
我们对接口有一个基础的了解和掌握就可以了,如果你有幸开发规模较大的项目,一般会遇到接口的使用。