zoukankan      html  css  js  c++  java
  • PHP设计模式

    这种模式允许使用不同的接口重构某个类,可以允许使用不同的调用方式进行调用:

    <?php
    /**
     * 第一种方式:对象适配器
     */
    interface Target {
        public function sampleMethod1();
        public function sampleMethod2();
    }
    
    class Adaptee {
        public function sampleMethod1() {
            echo '++++++++';
        }
    }
    
    class Adapter implements Target {
        private $_adaptee;
    
        public function __construct(Adaptee $adaptee) {
            $this->_adaptee = $adaptee;
        }
    
        public function sampleMethod1() {
            $this->_adaptee->sampleMethod1(); 
        }
    
        public function sampleMethod2() {
            echo '————————'; 
        }
    }
    $adapter = new Adapter(new Adaptee());
    $adapter->sampleMethod1();//输出:++++++++
    $adapter->sampleMethod2();//输出:————————
    
    
    
    /**
     * 第二种方式:类适配器
     */
    interface Target2 {
        public function sampleMethod1();
        public function sampleMethod2();
    }
    
    class Adaptee2 { // 源角色
        public function sampleMethod1() {echo '++++++++';}
    }
    
    class Adapter2 extends Adaptee2 implements Target2 { // 适配后角色
        public function sampleMethod2() {echo '————————';} 
    }
    
    $adapter = new Adapter2();
    $adapter->sampleMethod1();//输出:++++++++
    $adapter->sampleMethod2();//输出:————————
    ?>
    
  • 相关阅读:
    在HTML网页中嵌入脚本的方式
    纪念品分组(贪心、排序)
    合并果子(STL优先队列)
    铺地毯(取最上层的地毯)
    多项式方程的输出
    BF算法(蛮力匹配)
    数位的处理
    两个数的差
    多项式计算器
    随机数生成器java实现
  • 原文地址:https://www.cnblogs.com/taozi32/p/9226510.html
Copyright © 2011-2022 走看看