首页 > 编程笔记 > PHP笔记 阅读:7

PHP interface接口用法详解(附带实例)

在 PHP 项目开发中,经常需要定义方法来描述类的一些行为特征,但是这些行为特征又有不同的特点。例如,人类的行为特征是说话、吃饭、行走;动物的行为特征是鸣叫、吃饭、跳跃等。

在 PHP 中,可以利用接口定义不同的行为,提高程序的灵活性。

PHP接口的实现

接口用于指定某个类必须实现的功能,通过 interface 关键字来定义。

在接口中,所有的方法只能是公有的,不能使用 final 关键字修饰,具体语法格式如下:
interface 接口名
{
    const 常量名 ='';     // 接口常量
    public function 方法名();   // 接口方法
}
在上述语法格式中,接口与类有类似的结构,但是接口不能被实例化。

接口有两类成员,分别是接口常量和接口方法:
接口的方法体没有具体实现,因此,需要通过某个类使用 implements 关键字来实现接口,具体语法格式如下:
class 类名 implements 接口名
{ 
}

下面演示接口的定义和实现,具体代码如下:
interface Human
{
    const NAME = '';    // 接口常量
    public function eat();  // 接口方法
}
class Man implements Human
{
    public function eat()   // 实现接口方法
    {
    }
}
在上述代码中,第 3 行代码定义了接口常量NAME;第 4 行代码定义了接口方法,通过 Man 类实现 Human 接口,并在 Man 类中实现接口方法。

PHP接口的继承

在 PHP 中,为了让接口更具有结构性,接口可以被继承,从而实现接口的成员扩展。虽然 PHP 类只能继承一个父类,也就是单继承,但是接口和类不同,接口可以实现多继承,一次继承多个接口。

接口的继承使用 extends 关键字实现,多继承用逗号把继承的接口隔开即可,具体语法格式如下:
interface A {}
interface B {}

// 接口继承
interface C extends A {}

// 接口多继承
interface D extends A, B {}

下面演示接口继承的使用方法,具体代码如下:
interface Human
{
    public function walk();
    public function talk();
}
interface Animal
{
    public function eat();
    public function drink();
}
interface Monkey extends Human, Animal
{
    public function sleep() {};
}
上述代码定义了两个接口 Human 和 Animal,并定义 Monkey 接口继承这两个接口。

相关文章