zoukankan      html  css  js  c++  java
  • 设计模式之二 适配模式

    适配模式

    可能有些人我会说观察模式,这里因为想趁热,第一个模式说了策略模式然后再借用代码说适配模式感觉省心。

    适配模式大家应该很熟悉,我们日常生活中就有用到,例如变压器。有一天你需要出差去美国,可是带的是笔记本电脑 悲催的是 上面印着 Make in china 。大家知道 中国用的电压是220V而美国用的是110V,所以这会给你出差美国带来麻烦。如果你拥有了一个适配器(变压器),那就很好解决了。

    适配模式的理解:将一个类的接口转换成我们想要的接口。

    接着第一个模式说,如果现在有一只火鸡,它只会飞一点点距离,叫的声音如“咯咯咯咯咯”。

    以下是实现适配器模式的实例代码:

    /**
    * Created by Administrator on 2018/1/13.
    *
    * 火鸡的接口
    */
    public interface TurkeyInterface {
    void gege();
    void fly();
    }


    //火鸡对象
    public class Turkey implements TurkeyInterface {
    @Override
    public void gege() {
    System.out.println("我只会咯咯咯的叫");
    }

    @Override
    public void fly() {
    System.out.println("我只会飞一点点距离");
    }
    }

    /**
    * Created by Administrator on 2018/1/13.
    、*火鸡适配器
    */
    public class TurkeyAdapt extends Duck {
    Turkey turkey;

    public TurkeyAdapt(Turkey turkey) {
    this.turkey = turkey;
    }

    public void flyBehavior() {
    turkey.fly();
    }

    public void maleBehavior() {
    turkey.gege();
    }
    }
    //测试
    public class DuckTest {
    public static void main(String[] args){

    //适配模式

    Turkey turkey=new Turkey();
    Duck turkeyAdapt=new TurkeyAdapt(turkey);
    turkeyAdapt.flyBehavior();
    turkeyAdapt.maleBehavior();

    }
    }
     
     
  • 相关阅读:
    谈论quick-cocos2d-x和cocos2d-x lua了解差异
    VirtualBox更改虚拟机磁盘VDI的大小
    HDU 1484 Basic wall maze (dfs + 记忆)
    CII-原子
    [Openstack] Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL]
    iOS安全攻防(三):使用Reveal分析他人app
    数据库索引的作用和长处缺点
    用EnableMenuItem不能使菜单变灰的原因
    Java设计模式-观察者模式
    IplImage 封装释放
  • 原文地址:https://www.cnblogs.com/xiaohuachen/p/8277321.html
Copyright © 2011-2022 走看看