14.6 抽象类与接口
PHP中以abstract关键词声明的类为抽象类,表明这个类是抽象方法,不需要具体实现。抽象类可以继承抽象类,但不能重写抽象父类的抽象方法。抽象类通常用来定义一个类来实现什么,包含了具体的属性,抽象方法等。
PHP中以interface关键词可以定义接口,把不同类的共同行为进行定义,然后在不同类里面实现不同功能,这就是接口。接口里面的方法是不需要具体实现的。在实现了某个接口之后,必须提供接口中定义方法的具体实现。接口可以被继承,当类实现了接口时,父级接口的方法也需要在这个类里面具体实现。
注意事项:
(1)对接口的实现,要使用implements,抽象类的继承要使用extends。(https://www.daowen.com)
(2)接口中不能声明变量,但可以声明类常量,抽象类中可以声明各种变量。
(3)接口没有构造函数,抽象类可以有。
(4)一个类可以继承多个接口,但只能继承一个抽象类。