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();//输出:————————
    ?>
    
  • 相关阅读:
    C语言中的复合类型
    C语言中的函数与指针
    C语言中的循环结构与选择结构
    C语言中的运算符
    C语言中的变量
    毕业论文查重网站
    Protocol and Delegate协议和代理
    NSArray与NSMutableArray 数组与可变数组
    UI复习
    NSString方法与NSMutableString方法
  • 原文地址:https://www.cnblogs.com/taozi32/p/9226510.html
Copyright © 2011-2022 走看看