登录  /  注册

PHP设计模式之 适配器模式

不言
发布: 2018-04-18 11:50:33
原创
1517人浏览过

这篇文章介绍的内容是关于PHP设计模式之 适配器模式 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

最近开始学习设计模式中第二部分----结构型模式,总共有七种。
 学习的第一种结构型模式是适配器模式(Adapter),适配器模式中最简单,最普遍的举例就是电源转接头
 所以这种模式理解起来不难。
 以家用电压为例,提供一个适配器类,把220V的用电转换成人体所能承受的36V的安全电压。

 代码如下:

<?php    
/**      
 * Created by Sublime.      
 * User: Ryan      
 * Date: 2018/1/19      
 * File:Adapter.php      
 */      
  
/** 电压接口     
 *  interface Voltage         
 */  
interface Voltage  
{  
    function Display(); // 电压显示  
}  
  
/** 家用电压类   
 *  HomeVoltage        
 */  
Class HomeVoltage implements voltage  
{  
    // 家用电压一般220V  
    function Display(){  
        echo "220V</br>";  
    }     
}  
  
/** 人体安全电压   
 *  PersonVoltage       
 */  
Class PersonVoltage  
{     
    // 人体安全电压一般不超过36V  
    function Display(){  
        $v = rand(1,36);  
        echo $v."V";  
    }     
}  
  
/** 适配器类  
 *  Adapter      
 */  
Class Adapter implements Voltage  
{  
    private $_person;  
    // __construct 构造函数重新进行转换  
    function __construct(){  
        $this->_person = new PersonVoltage();  
    }  
    function Display(){  
        $this->_person->Display();  
    }   
}
登录后复制
<?php  
header("Content-Type:text/html;charset=utf-8");    
//------------------------适配器模式--index.php ----------------   
require_once "Adapter.php";    
  
// 家用电压    
$home = new HomeVoltage();   
$home->Display();  
  
echo "*********转换电压到人体安全电压**********</br>";  
// 适配器 随机转换到人体可接受范围电压  
$person = new Adapter();  
$person->Display();
登录后复制

输出结果:

220V
*********转换电压到人体安全电压**********
16V

相关推荐:

PHP设计模式之 建造者模式

PHP设计模式之 原型模式

PHP设计模式之 单例模式

以上就是PHP设计模式之 适配器模式 的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号