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


Posted in PHP onApril 26, 2017

本文实例讲述了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中去除所有js,html,css代码
Oct 12 PHP
探讨file_get_contents与curl效率及稳定性的分析
Jun 06 PHP
解析posix与perl标准的正则表达式区别
Jun 17 PHP
解析PHP实现下载文件的两种方法
Jul 05 PHP
php按百分比生成缩略图的代码分享
May 10 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
PHP里的单例类写法实例
Jun 25 PHP
PHP附件下载中文名称乱码的解决方法
Dec 17 PHP
php基于session锁防止阻塞请求的方法分析
Aug 07 PHP
php 后端实现JWT认证方法示例
Sep 04 PHP
PHP判断是否微信访问的方法示例
Mar 27 PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 27 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
Apr 26 #PHP
php编程实现简单的网页版计算器功能示例
Apr 26 #PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 #PHP
PHP中时间加减函数strtotime用法分析
Apr 26 #PHP
yii2中dropDownList实现二级和三级联动写法
Apr 26 #PHP
MAC下通过改apache配置文件切换php多版本的方法
Apr 26 #PHP
PHP编程计算日期间隔天数的方法
Apr 26 #PHP
You might like
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
yii框架builder、update、delete使用方法
2014/04/30 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
js中设置元素class的三种方法小结
2011/08/28 Javascript
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
JQuery实现左右滚动菜单特效
2015/09/28 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
如何在 ant 的table中实现图片的渲染操作
2020/10/28 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
Python实现把数字转换成中文
2015/06/29 Python
python 计算文件的md5值实例
2017/01/13 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
Python中函数参数调用方式分析
2018/08/09 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
python调用c++返回带成员指针的类指针实例
2019/12/12 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
tensorflow保持每次训练结果一致的简单实现
2020/02/17 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
利用html5 file api读取本地文件示例(如图片、PDF等)
2018/03/07 HTML / CSS
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
高中生学习生活的自我评价
2013/10/09 职场文书
大学生实习思想汇报
2014/01/12 职场文书
会计电算化毕业生自荐信
2014/03/03 职场文书
汽车维修求职信
2014/06/15 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
小学教师求职信范文
2015/03/20 职场文书
《法国号》教学反思
2016/02/22 职场文书
关于python类SortedList详解
2021/09/04 Python