zoukankan      html  css  js  c++  java
  • PHP设计模式——适配器模式

    <?php
    
    /**
     * 适配器模式
     * 适配器模式是将某个对象的接口适配为另一个对象所期望的接口
     * 
     * 在需要转化一个对象的接口用于另一个对象时,最好实现适配器模式对象
     */
    class Weather {
    
        public $_info = NULL;
    
        public function __construct() {
            $this->_info = serialize(array('tep' => 24, 'wind' => 2));
        }
    
        public function show() {
            return unserialize($this->_info);
        }
    
    }
    
    //调用原始接口 序列化形式
    $we = new Weather();
    $array = $we->show();
    echo '旧接口<br>';
    echo "温度:" . $array['tep'] . "<br>";
    echo "风力:" . $array['wind'] . "<br><br>";
    
    class JsonAdapter extends Weather {
    
        public function __construct() {
            parent::__construct();
            $tmp = unserialize($this->_info);
            $this->_info = json_encode($tmp);
        }
    
        public function show() {
            return json_decode($this->_info,TRUE);
        }
    
    }
    //调用原始接口 序列化形式
    $we = new JsonAdapter();
    $array = $we->show();
    echo '新接口<br>';
    echo "温度:" . $array['tep'] . "<br>";
    echo "风力:" . $array['wind'] . "<br>";
  • 相关阅读:
    python目录
    面向对象
    模块(二)
    python函数(四)
    助教工作总结
    第五次个人作业:个人总结
    Typroa编写的图片上传博客园
    msfconsole利用ms17-010和ms12-020攻击
    第四次个人作业——案例分析
    助教周报(第二轮)
  • 原文地址:https://www.cnblogs.com/tlxma/p/5210716.html
Copyright © 2011-2022 走看看