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 相关文章推荐
真正的ZIP文件操作类(php)
Jul 21 PHP
PHP sprintf()函数用例解析
May 18 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
Nov 03 PHP
PHP Error与Logging函数的深入理解
Jun 03 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
Sep 16 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
Apr 03 PHP
Laravle eloquent 多对多模型关联实例详解
Nov 22 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
PDO::getAttribute讲解
Jan 28 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 PHP
Laravel如何实现自动加载类
Oct 14 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面向对象之多态
2014/08/20 PHP
自适应图片大小的弹出窗口
2006/07/27 Javascript
取得一定长度的内容,处理中文
2006/12/20 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
jQuery自定义组件(导入组件)
2016/11/08 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
快速入门Vue
2016/12/19 Javascript
详解vue-cli中配置sass
2017/06/21 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
node读写Excel操作实例分析
2019/11/06 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
Python学习教程之常用的内置函数大全
2017/07/14 Python
Python实现两款计算器功能示例
2017/12/19 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
Python定时任务sched模块用法示例
2018/07/16 Python
Python生成个性签名图片获取GUI过程解析
2019/12/16 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
学习新党章思想汇报
2014/01/09 职场文书
学生出入校管理制度
2014/01/16 职场文书
小学生竞选班长演讲稿
2014/04/24 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
2014卖家双十一活动策划书
2014/09/29 职场文书
新店开张宣传语
2015/07/13 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
科普 | 业余无线电知识-波段篇
2022/02/18 无线电