本文实例讲述了PHP基于接口技术实现简单的多态应用。分享给大家供大家参考,具体如下:
PHP;">
PHP
//实现多态的一个简单实例
interface USB{
//接口中的方法权限必须是public,并且只有抽象方法或常量
function mount();
function work();
function unmount();
}
class Upan implements USB{
function mount(){
echo "U盘被成功挂载!!
"; } function work(){ echo "U盘正在工作……
"; } function unmount(){ echo "U盘被成功卸载!!
"; } } class ShuBiao implements USB{ function mount(){ echo "USB鼠标被成功插入!
"; } function work(){ echo "USB鼠标正在工作……
"; } function unmount(){ echo "USB鼠标被成功拔除!
"; } } class DianNao{ function useUSB($usb){ //这就是一种多态,当传进去的参数为不同的usb设备时,调用不同设备的相同的方法名,但产生了不同的效果 $usb->mount(); $usb->work(); $usb->unmount(); } } class Worker{ function install(){ $dn=new DianNao; //激活电脑 $up=new Upan; //激活优盘 $sb=new ShuBiao; //激活鼠标 $dn->useUSB($up); //电脑访问优盘 $dn->useUSB($sb); //电脑访问鼠标 } } $usb_user=new Worker; //激活一个USB设备的使用者 $usb_user->install(); //使用者调用安装USB设备的方法 ?>
"; } function work(){ echo "U盘正在工作……
"; } function unmount(){ echo "U盘被成功卸载!!
"; } } class ShuBiao implements USB{ function mount(){ echo "USB鼠标被成功插入!
"; } function work(){ echo "USB鼠标正在工作……
"; } function unmount(){ echo "USB鼠标被成功拔除!
"; } } class DianNao{ function useUSB($usb){ //这就是一种多态,当传进去的参数为不同的usb设备时,调用不同设备的相同的方法名,但产生了不同的效果 $usb->mount(); $usb->work(); $usb->unmount(); } } class Worker{ function install(){ $dn=new DianNao; //激活电脑 $up=new Upan; //激活优盘 $sb=new ShuBiao; //激活鼠标 $dn->useUSB($up); //电脑访问优盘 $dn->useUSB($sb); //电脑访问鼠标 } } $usb_user=new Worker; //激活一个USB设备的使用者 $usb_user->install(); //使用者调用安装USB设备的方法 ?>
实例运行效果:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。