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实现框架(二)
Oct 09 PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
解析php中array_merge与array+array的区别
Jun 21 PHP
利用中国天气预报接口实现简单天气预报
Jan 20 PHP
基于PHP实现数据分页显示功能
May 26 PHP
Yii2框架实现注册和登录教程
Sep 30 PHP
PHP实现用户登录的案例代码
May 10 PHP
PDO::errorInfo讲解
Jan 28 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
PHP7 参数处理机制修改
Mar 09 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
关于页面优化和伪静态
2009/10/11 PHP
PHP使用mysqldump命令导出数据库
2015/04/14 PHP
取键盘键位ASCII码的网页
2007/07/30 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
js中DOM三级列表(代码分享)
2017/03/20 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
JS判断数组那点事
2017/10/10 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
ES6扩展运算符用法实例分析
2017/10/31 Javascript
JavaScript设计模式之建造者模式实例教程
2018/07/02 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
详解Vue数据驱动原理
2020/11/17 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
Python 的AES加密与解密实现
2019/07/09 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
python pillow库的基础使用教程
2021/01/13 Python
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
iHerb俄罗斯:维生素、补品和天然产品
2020/07/09 全球购物
护士个人简历自荐信
2013/10/18 职场文书
教师应聘个人求职信
2013/12/10 职场文书
校园自助餐厅的创业计划书
2013/12/26 职场文书
旅游专业职业生涯规划范文
2014/01/13 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
三关爱志愿服务活动方案
2014/08/17 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
开票员岗位职责
2015/02/12 职场文书
八月一日观后感
2015/06/10 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
磁贴还没死, 微软Win11可修改注册表找回Win10开始菜单
2021/11/21 数码科技