适配器模式

本文介绍了适配器模式的概念及其实现方式,包括类适配器和对象适配器的区别,并通过具体的Java代码示例展示了如何解决不同接口之间的兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

适配器模式:将原本两个不兼容的类通过适配器使之相兼容;

生活中的例子:中国的水管连接外国的水龙头,中间需要进行一些配置等工具,这个工具就是适配器;

                     比如2008年中国奥运会的举行,把中文翻译成英语等多种语言以供多全世界的国家都能够相互进行友好文化交流;

jdk实现:

http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns

http://yan578351314.javaeye.com/blog/969553

 

适配器分类:适配器分为类适配器和对象适配器两种;

类适配器:就是实现所以进行所要进行适配的那个类,这样不利于代码的优化,会造成接口污染(即子类继承父类多余的方法);

对象适配器:就是直接new所要适配的那个对象,大多数使用此适配器,因为对象优与组合;

 

解决问题:解决了不兼容的两个类直接的兼容性;

 

好处:增强了扩展性;

 

结构实现如下:

 

//美国的水龙头

public class USAtap {
   
    public void add(int i,int j){
        System.out.println("USAtap.add()==美国的水龙头");
    }

}

//连接中国水管与美国水龙头的适配器类

public class ChinaPipe {

    public  void test() {
        System.out.println("ChinaPipe.test()==中国的水管");

        //属于对象适配器
        new USAtap().add(1, 1);
    }

}

 

//客户端的调用

public class Client{
   
    public static void main(String[] args) {
        ChinaPipe pipe = new ChinaPipe();
        pipe.test();
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值