zoukankan      html  css  js  c++  java
  • Adapter

    适配器模式:将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。

    系统的数据与行为正确,但接口不符合时,我们应该考虑适配器模式,目的是使控制范围之外的一个原本对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但接口又与复用环境要求不一样的情况。

    生活中的例子:
    在现实生活中,像这种适配器我们经常见到,而且还是经常使用它,如:手机(深信大家都见过),我们手机在充电的时候,不可能直接在220V电源上直接充电,而是手机“充电器”进行转换成手机需要的电压才可以正常充电,否则就不可以完成充电,这个“充电器”就起到了适配的作用。

    适配器分两种:类适配器 与 对象适配器 ,由于类适配器需要通过多重继承来实现,这里讲得主要是对象适配器。

    public abstract class Target {
    
        public abstract void request();
    
    }
    public class Nomal extends Target {
    
        @Override
        public void request() {
            System.out.println("Nomal Request ! ");
        }
    
    }
    public class Adaptee {
    
        public void specificRequest() {
            System.out.println("Specific Request ! ");
        }
    
    }
    public class Adapter extends Target{
    
        private Adaptee adaptee = new Adaptee();
        
        @Override
        public void request() { 
            //这样就可以把表面上调用Request的方法变成实际调用的SpecificRequest。
            adaptee.specificRequest();
        }
    
    }
        public static void main(String[] args) {
            Target t1 = new Nomal();
            t1.request();
            Target t2 = new Adapter();
            t2.request();
        }

    打印结果:

    Nomal Request !
    Specific Request !

  • 相关阅读:
    【转】 GetProcAddress()用法
    AutoCAD开发小记
    Visual Studio 2015正式版发布
    【VS2010]如何删除【附加依赖项】中“继承的值”?
    OpenCV入门指南
    Visual Studio 遇到了异常。这可能是由某个扩展导致的。
    VS2010在WIN7下安装报错“下列组件安装失败”如何解决
    获取系统日期时间的简单方法
    免费在线pdf互转工具
    应用层vc实现三种文件监视方法
  • 原文地址:https://www.cnblogs.com/xuekyo/p/2610577.html
Copyright © 2011-2022 走看看