抽象类与接口
抽象类和接口像是,都是一种比较特殊的类,它们通常配合面向对象的多态性一起使用。
抽象类
在OOP语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法作为外部代码访问它的接口。而抽象方法就是为了方便继承而引入的。抽象方法就是没有方法体的方法,所谓没有方法体是指在方法声明时没有花括号及其中的内容,而是在声明方式时直接在方法名后加上分号结束,另外在声明抽象方法时,还要使用关键字abstract来修饰。
abstract function fun1();
只要在声明类时有一个方法是抽象方法,那么这个类就是抽象类,抽象类也要使用abstract关键字来修饰。
接口技术
因为PHP只支持单继承,也就是说每个类只能继承一个父类。当声明的新类继承抽象类实现模板以后,它就不能再有其他父类了。为了解决这个问题,PHP引入了接口,接口是一种特殊的抽象类,而抽象类又是一种特殊的类。接口中声明的方法必须都是抽象方法,另外不能再接口中声明变量,只能使用const关键字声明常量的成员属性,而且接口中所有成员都必须有public的访问权限。
interface 接口名称{}