7.8 对象接口

2017-06-30  本文已影响9人  57fc17b7d598

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

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

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

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

接口不能实例化

// 接口
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){

    }
}
上一篇 下一篇

猜你喜欢

热点阅读