什么是接口
接口用于指定某个类必须实现的功能,用来规范一些共性类必须实现的方法,通过interface关键字来定义。在接口中,所有的方法只能是公有的,不能使用final关键字来修饰,具体语法如下所示。
// 定义接口
interface 接口名
{
public function 方法名();
}
// 实现接口
class 类名 implements 接口名
{
// 类体
}
上述语法中,接口与类有类似的结构,但是接口不能实例化,接口中的方法没有具体的实现,因此,需要通过某个类使用implements关键字来实现接口。
接口只能有两个成员,分别是接口常量和接口方法。接口方法为抽象方法且没有方法体,在定义接口中的抽象方法时,由于所有的方法都是抽象的,因此声明时省略abstract关键字。实现接口的类可以访问接口常量,但不能在类中定义同名常量,类中需要实现所有的接口方法,并且不允许添加控制权限。
下面演示接口的定义和实现,具体代码如下所示。
1 interface Human
2 {
3 const NAME = ''; // 接口常量
4 public function eat(); // 接口方法
5 }
6 class Man implements Human
7 {
8 public function eat() // 实现接口方法
9 {
10 }
11 }
上述代码中,第3行定义了接口常量NAME,第4行定义接口方法,通过Man类实现接口,并在Man类中实现接口中的方法。