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

发布时间 - 2026-01-11 00:50:58    点击率:

本文实例讲述了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  # 接口  # 多态  # PHP入门教程之面向对象的特性分析(继承  # 抽象类  # 抽象方法等)  # php学习笔记 面向对象中[接口]与[多态性]的应用  # PHP面向对象程序设计高级特性详解(接口  # 继承  # 析构  # 克隆等)  # PHP面向对象程序设计之接口用法  # PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约  # PHP面向对象的进阶学习(抽像类、接口、final、类常量)  # PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象  # php面向对象全攻略 (十四) php5接口技术  # PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)  # 实例讲解PHP面向对象之多态  # PHP5中实现多态的两种方法实例分享  # 鼠标  # 程序设计  # 操作技巧  # 是一种  # 相关内容  # 感兴趣  # 这就  # 给大家  # 更多关于  # 所述  # 面向对象  # 运算符  # 产生了  # 编程技巧  # 讲述了  # interface  # lt  # USB  # mount 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  详解Android——蓝牙技术 带你实现终端间数据传输  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  Android滚轮选择时间控件使用详解  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  手机软键盘弹出时影响布局的解决方法  JS去除重复并统计数量的实现方法  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  如何在云虚拟主机上快速搭建个人网站?  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  JavaScript中的标签模板是什么_它如何扩展字符串功能  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  iOS中将个别页面强制横屏其他页面竖屏  如何彻底删除建站之星生成的Banner?  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Laravel如何使用Collections进行数据处理?(实用方法示例)  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何在 Pandas 中基于一列条件计算另一列的分组均值  Android使用GridView实现日历的简单功能  C++用Dijkstra(迪杰斯特拉)算法求最短路径  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Laravel如何发送系统通知?(Notification渠道示例)  zabbix利用python脚本发送报警邮件的方法  微信小程序 input输入框控件详解及实例(多种示例)  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  Laravel怎么清理缓存_Laravel optimize clear命令详解  Linux系统运维自动化项目教程_Ansible批量管理实战  如何快速选择适合个人网站的云服务器配置?  如何实现建站之星域名转发设置?  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何快速搭建高效简练网站?  Laravel如何处理文件下载请求?(Response示例)  如何用y主机助手快速搭建网站?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  网站页面设计需要考虑到这些问题  C#如何调用原生C++ COM对象详解  如何在阿里云服务器自主搭建网站?  深圳网站制作的公司有哪些,dido官方网站?  如何基于云服务器快速搭建个人网站?  js实现点击每个li节点,都弹出其文本值及修改  Laravel中的withCount方法怎么高效统计关联模型数量  高防服务器租用首荐平台,企业级优惠套餐快速部署  LinuxShell函数封装方法_脚本复用设计思路【教程】  如何彻底卸载建站之星软件?  如何构建满足综合性能需求的优质建站方案?