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函数封装方法_脚本复用设计思路【教程】
如何彻底卸载建站之星软件?
如何构建满足综合性能需求的优质建站方案?

