7.8 对象接口

接口类似抽象类,使用者都必须实现某些方法,抽象类中的普通方法不必实现,而且接口类中只能有公开的普通方法且都必须实现。

接口中可以有常量和方法,但不能有属性,也就是变量。

接口可以继承接口,但不能继承普通类和抽象类,也 不能实现接口

类不能继承接口,只能实现接口,抽象类实现接口时可以不必实现接口的方法,但普通类实现接口时必须要将相关方法都实现。

接口不能实例化

// 接口
interface One{
    public function fnOne(string $s);
}
// 接口可以继承接口
interface Two extends One{
    const NUM = 88;
    public function fnTwo(int $i);
}
// 接口可以什么都不做
interface Five{}
// 接口可以继承多个接口
interface Ten extends One, Two, Five{

}

// 抽象类、可以实现接口
abstract class Three implements One{
    public abstract function fnThree();
}

// 普通类、可以实现多个接口
class Four implements Two, Five{
    // 可以给参数设置默认值
    public function fnOne(string $s = "abc"){
        // 输出常量
        echo self::NUM;
    }
    // 可以增加一个有默认值的参数
    public function fnTwo(int $i, int $x = 2){

    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容