Rumah >pembangunan bahagian belakang >tutorial php >PHP设计模式之 适配器模式

PHP设计模式之 适配器模式

不言
不言asal
2018-04-18 11:50:331781semak imbas

这篇文章介绍的内容是关于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设计模式之 单例模式

Atas ialah kandungan terperinci PHP设计模式之 适配器模式 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn