PHP基于接口技术实现简单的多态应用完整实例

yipeiwu_com5年前PHP代码库

本文实例讲述了PHP基于接口技术实现简单的多态应用。分享给大家供大家参考,具体如下:

<?php
//实现多态的一个简单实例
interface USB{
  //接口中的方法权限必须是public,并且只有抽象方法或常量
  function mount();
  function work();
  function unmount();
}
class Upan implements USB{
  function mount(){
    echo "U盘被成功挂载!!<br>";
  }
  function work(){
    echo "U盘正在工作……<br>";
  }
  function unmount(){
    echo "U盘被成功卸载!!<br>";
  }
}
class ShuBiao implements USB{
  function mount(){
    echo "USB鼠标被成功插入!<br>";
  }
  function work(){
    echo "USB鼠标正在工作……<br>";
  }
  function unmount(){
    echo "USB鼠标被成功拔除!<br>";
  }
}
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面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP gbk环境下json_dencode传送来的汉字

复制代码 代码如下: function ArrEncode($arr){ foreach($arr as $k=>$v){ if(is_array($v)){ $arr[$k] =...

php使用Cookie实现和用户会话的方法

本文实例讲述了php使用Cookie实现和用户会话的方法。分享给大家供大家参考。具体分析如下: PHP 包含了很多的函数,可以用来管理和记录用户信息,包括简单的 cookie 和全方位的...

php实现构建排除当前元素的乘积数组方法

构建乘积数组 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*.....

PHP中设置时区方法小结

找到原因后,在网上搜索到了一些关于PHP的时区设置方法: 1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone...

php封装的数据库函数与用法示例【参考thinkPHP】

本文实例讲述了php封装的数据库函数与用法。分享给大家供大家参考,具体如下: 从Thinkphp里面抽离出来的数据库模块,感觉挺好用 common.php: <?PHP...