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 相关文章推荐
织梦模板标记简介
Mar 11 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
php discuz 主题表和回帖表的设计
Mar 13 PHP
php中显示数组与对象的实现代码
Apr 18 PHP
如何在php中正确的使用json
Aug 06 PHP
PHP中file_exists()判断中文文件名无效的解决方法
Nov 12 PHP
浅谈PHP中output_buffering
Jul 13 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
Apr 21 PHP
thinkphp 手机号和用户名同时登录
Jan 20 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
PHP使用Redis实现Session共享的实现示例
May 12 PHP
TP5多入口设置实例讲解
Dec 15 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
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
PHP实现简单的计算器
2020/08/28 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
javascript Math.random()随机数函数
2009/11/04 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
2010/03/21 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
CSS javascript 结合实现悬浮固定菜单效果
2015/08/23 Javascript
JS原型链怎么理解
2016/06/27 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
2017/01/05 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
webpack打包js的方法
2018/03/12 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
对python中的pop函数和append函数详解
2018/05/04 Python
python实现手势识别的示例(入门)
2020/04/15 Python
Python实现转换图片背景颜色代码
2020/04/30 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
Django celery异步任务实现代码示例
2020/11/26 Python
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
信息科学与技术专业求职信范文
2014/02/20 职场文书
保护环境倡议书500字
2014/05/19 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
幼儿生日活动方案
2014/08/27 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers