当前位置:  首页>> 技术小册>> PHP8入门与项目实战(4)

继承特性简化了对象和类的创建,增加了代码的可重用性。但是PHP只支持单继承,如果想实现多继承,就需要使用接口。PHP可以实现多个接口。

接口类通过关键字interface来声明。接口中不能声明变量,只能使用关键字const声明为常量的成员属性,接口中声明的方法必须是抽象方法,并且接口中所有的成员都必须具有public访问权限。具体的使用语法格式如下:

  1. interface接口名称{ //使用interface关键字声明接口
  2. //常量成员 //接口中的成员只能是常量
  3. //抽象方法 //成员方法必须是抽象方法
  4. }

与继承使用extends关键字不同的是,实现接口使用的是implement关键字:

  1. class接口类implement接口名称{}

实现接口的类必须实现接口中声明的所有方法,除非这个类被声明为抽象类。

【例8.9】

运行结果如图8-9所示。

通过上述实例,可以总结出如下要点:

·在PHP中,类的继承只能是单独继承,即由一个父类(基类)继承,而且可以一直继承下去。PHP不支持多方继承,即不能由一个以上的父类继承,即类C不能同时继承类A和类B。

·由于PHP支持多方继承,为了对特定类的功能进行拓展,可以使用接口(interface)来实现类似于多方继承的好处。接口用interface关键字声明,并且单独设置接口方法。

·一个类可以继承于一个父类,同时使用一个或多个接口。类还可以直接继承于某个特定的接口。

·类、类的属性和方法的访问都可以通过访问修饰符进行控制。访问修饰符放在属性和类的前面,public表示公共属性或方法,private表示自有属性或方法,protected表示可继承属性或方法。

·关键字final放在特定的类前面,表示此类不能再被继承。final放在某个类方法前面,表示此方法不能在继承后被“覆写”或重新定义。