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

多态性是指同一操作作用于不同类的实例,将产生不同的执行结果,即不同类的对象收到相同的消息时,得到不同的结果。在PHP中,实现多态的方法有两种,包括通过继承实现多态和通过接口实现多态。

8.8.1 通过继承实现多态

通过继承可以实现多态的效果,下面通过一个实例来理解实现多态的方法。

【例8.10】

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

从结果可以看出,本实例创建了一个抽象类Vegetables,用于表示各种蔬菜的种植方法,然后让子类继承这个Vegetables。

8.8.2 通过接口实现多态

下面通过接口的方式实现和上面实例一样的效果。

【例8.11】

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

从结果可以看出,本实例创建了一个接口Vegetables,然后定义一个空方法go_Vegetables(),接着定义Vegetables_potato和Vegetables_radish子类继承接口Vegetables。最后通过instanceof关键字检查对象是否属于接口Vegetables。