问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php接口开发教程

发布网友 发布时间:2022-04-23 05:56

我来回答

1个回答

热心网友 时间:2022-04-06 00:49

PHP与大多数面向对象编程语言一样,不支持多重继承.也就是说每个类只能继承一个父类.为了解决这个问题,PHP引入了接口,接口的思想是指定了一个实现了该接口的类必须实现的一系列方法.接口是一种特殊的抽象类,抽象类又是一种特殊的类,所以接口也是一种特殊的类,为什么说接口是一种特殊的抽象类呢?如果一个抽象类里面的所有的方法都是抽象方法,那么我们就换一种声明方法使用“接口“;也就是说接口里面所有的方法必须都是声明为抽象方法,另外接口里面不能声明变量(但可声明常量constant),而且接口里面所有的成员都是public权限的。所以子类在实现的时候也一定要使用public权限实限。
声明一个类的时候我们使用的关键字是”class”,而接口一种特殊的类,使用的关键字是“interface”;
类的定义: class 类名{ … } ,接口的声明:interface 接口名{ …}

代码
代码
<?php

//定义一个接口使用interface关键字,“One”为接口名称

interface One
{
//定义一个常量
const constant = 'constant value';
//定义了一个抽象方法”fun1”
public function fun1();
//定义了抽象方法”fun2”
public function fun2();

}

?>

  上例中定义了一个接口”one”,里面声明了两个抽象方法“fun1”和”fun2”,因为接口里面所有的方法都是抽象方法,所以在声明抽象方法的时候就不用像抽象类那样使用”abstract”这个关键字了,默认的已经加上这个关键字,另外在接口里边的”public”这个访问权限也可以去掉,因为默认就是public的,因为接口里所有成员都要是公有的,所在对于接口里面的成员我们就不能使用“private”的和”protected”的权限了,都要用public或是默认的。另外在接口里面我们也声明了一个常量“constant“, 因为在接口里面不能用变量成员,所以我们要使用const这个关键字声明。
因为接口是一种特殊的抽象类,里面所有的方法都是抽象方法,所以接口也不能产生实例对象; 它也做为一种规范,所有抽象方法需要子类去实现。

我们可以使用”extends”关键字让一个接口去继承另一个接口:

<?php

//使用”extends”继承另外一个接口

interface Two extends One
{
function fun3();

function fun4();
}

?>

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

代码
<?php

//使用“implements”这个关键字去实现接口中的抽象方法 接口和类之间

class Three implements One
{
function fun1()
{

}
function fun2()
{

}

}

//实现了全部方法,我们去可以使用子类去实例化对象了

$three=new Three();

?>

我们也可以使用抽象类,去实现接口中的部分抽象方法,但要想实例化对象,这个抽象类还要有子类把它所有的抽象方法都实现才行;
在前面我们说过,PHP是单继承的,一个类只能有一父类,但是一个类可以实现多个接口,就相当于一个类要遵守多个规范,就像我们不仅要遵守国家的法律,如果是在学校的话,还要遵守学校的校规一样;

<?php

//使用implements实现多个接口
class Four implemtns 接口一, 接口二, ….
{
//必须把所有接口中的方法都要实现才可以实例化对象。
}

?>

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

<?php

//使用extends继承一个类,使用implements实现多个接口

class Four extends 类名一 implemtns 接口一, 接口二, ….
{

//所有接口中的方法都要实现才可以实例化对象

………
}

?>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 接口里面的方法可以有具体实现吗? 没有营业执照怎么申请微信收钱码? 怎么用函数计算这些 怎么使用EXCEL中函数来实现计算 没有营业执照怎么申请微信服务号 怎样用Excel做一些函数计算 没有营业执照,怎么办理微信商户码 EXCEL如何用公式计算第二大值,第三大值等 怎么授权苹果电脑的看图软件删除照片? excel 如何用函数计算?如下: 没有营业执照怎么开通微信服务号? excel 怎么使用函数计算? 没有执照,怎么能变成微信商家? 苹果电脑怎么看动态图片? 微信商家收款开通不需要营业执照? 在EXCEL如何使用函数计算? PS里文字形状怎么改?麻烦说详细点 苹果笔记本电脑怎样能下载CAD看图软件? 没有营业执照可以申请微信支付吗? Excel 怎么用函数和公式 计算数值呢? 求教PHP API接口实现 苹果11新买的怎么开机 实现一个接口,必须要实现接口中所有的方法么? php接口有什么用 只能定义函数 又不能在里面写代码 请教高手,数据接口怎样实现呢?可不可以用php程序来实现呢?请高手指教。 在php中抽象类实现接口?具体给例子解释一下! 求助大神,php api接口怎么写 php中如何调用接口以及编写接口代码详解 php interface 接口用法,请问如果不用interface接口,还有更好方法吗? 如何使用 php 开发 api php接口概念??? php预定义接口有哪些 php中的API接口怎么写 ? PHP如何编写RESTful接口的方法实例演示 微信如何恢复被删除的聊天记录? 华为手机陌生电话打不进来怎么设置 华为手机设置陌生人打不进电话 华为手机如何设置拒接手机号码? vivo s1更新了为什么Al键没有听歌识曲了? vivos1的参数配置对比是什么?