本文主要是介绍PHP面向对象 1.9 多态性的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
面向对象除了封装和继承之外的另一个重要特性——多态性;
最直接的定义解释让具有继承关系的不同类对象,可以对相同名称的成员函数调用,产生不同的反应效果
多态性值得就是方法的重写。方法的重写是指一个子类中可以重新修改父类中的某些方法。使其具有自己的特征。
例如一个计算机的USB接口可以识别不同的USB设备
<?php
//定义一个计算机USB接口,让每个USB设备都遵守这个规范
interface USB{function run();
}
//声明一个计算机类,去使用USB设置
class Computer{//计算机类中的一个方法可以应用任何一种USB设备function useUSB($usb){$usb->run();}
}$computer = new Computer; //实例化一个计算机类对象$computer -> useUSB(new Ukey()); //为USB插入一个USB键盘设备,并运行
$computer -> useUSB(new Umouse()); //为计算机插入一个USB鼠标设备,并运行
$computer -> useUSB(new UStore()); //为计算机插入一个USB存储设备,并运行
上面的代码中声明了一个接口USB,并在接口中声明了一个抽象方法run().目的就是定义一个规范,让每个USB设备都去遵守。也就是子类必须重写run()方法才能被计算机应用到。
<?php
//扩展一个usb键盘设置,实现usb接口
class Ukey implements USB{//按键盘功能实现接口中的方法function run(){echo "运行USB键盘设备";}
}//扩展一个USB鼠标设置,实现USB接口
class Umouse implements USB{//按鼠标的功能实现接口中的方法function run(){echo "运行USB鼠标设备";}
}//扩展一个USB存储设置,实现usb接口
class Ustore implements USB{function run(){echo "运行USB存储设备";}
}
这篇关于PHP面向对象 1.9 多态性的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!