什么是接口?接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,再根据具体情况把这些方法写出来。
接口是更加抽象的抽象类,抽象类里的方法可以有方法体,而接口里的所有方法都没有方法体。接口体现了程序设计的多态和高内聚低偶拿来设计思想。
1、接口的基本语法
interface 接口名(
//属性
//方法
}
例:
<?php //使用程序模拟现实生活中的USB接口 //接口一般用于定义规范(方法/属性) interface iUsb{ public function start(); public function stop(); } //编写手机类,让它去实现接口 //当一个类实现了某个接口,则要求该类必须实现这个接口的所有方法 class Camera implements iUsb{ public function start(){ echo "相机开始工作"."<br />"; } public function stop(){ echo "相机停止工作"."<br />"; } } //编写手机类 class Phone implements iUsb{ public function start(){ echo "手机开始工作"."<br />"; } public function stop(){ echo "手机停止工作"."<br />"; } } //如何使用 $camera=new Camera(); $camera->start(); $camera->stop(); $phone1=new Phone(); $phone1->start(); $phone1->stop();?>
2、接口的方法都不能有方法体。
3、如何使用接口?格式如下:
class 类名 implements 接口名1,接口名2,...{
}
4、接口的作用,声明一系方法,待其它的类来实现这些方法。
什么情况下使用接口?
1 定规范
2 定下规范,让别的程序员来实现
3 多个类之间没有继承关系,是平级的,这些类都会去实现某个功能,只是实现的方式不一样。
使用接口的注意事项
1)不能去实例化一个接口。
2)接口中的所有方法,都不能有方法体;
3)一个类可以有多个接口,用逗号隔开。例如:
public class 类名 implements 接口1,接口2...{
}
4)接口中可以有属性,但必须是常量,默认是public
例:
<?php interface iUsb{ const A=90; //定义常量,前面不能加$符号 } echo "ok".iUsb::A; //取出接口中常量A的值?>
5)接口中的方法,默认都是public的
6)一个接口不能继承其它的类,但是可以继承别的接口
<?php interface iUsb2{ } interface iUsb3{ } interface iUsb extends iUsb2,iUsb3{ const A=90; //定义常量,前面不能加$符号 } echo "ok".iUsb::A; //取出常量A的值?>
一个接口可继承多个接口,当一个类实现了某些接口,则必须把所有接口中的方法都实现
例2:
<?php interface iUsb2{ public function a(); } interface iUsb3{ public function b(); } interface iUsb extends iUsb2,iUsb3{ //接口iUsb继承了iUsb2和iUsb3两个接口 const A=90; //定义常量,前面不能加$符号 } //类Class1必须把三个接口中的方法全部实现,否则会报错 class Class1 implements iUsb{ public function a(){ } public function b(){ } public function test(){ } } echo "ok".iUsb::A; //取出常量A的值?>
实现接口与继承类的比较
1)php的继承是单继承,也就是一个类最多只能有一个父类。这种机制,对于类功能的扩展有一定的影响
2)实现接口可以看作是对继承的一种补充。
3)实现接口,可在不打破继承关系的前提下,对某个类功能进行扩展。
URL: http://www.bianceng.cn/webkf/PHP/201612/50488.htm
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索接口
, kfcapi接口
, 方法
, 抽象
, 类名
, 多个
, 一个
, php接口
封装法
php接口开发教程、php接口开发、接口、php接口调用、php,以便于您获取更多的相关知识。