Java设计模式(五)--适配器模式

简介

适配器模式将原本不兼容的功能,使它们能够在一起工作,并得到自己需要的功能,好比如生活中电脑外接显示器的线与电脑的接口不匹配,此时就需要使用转接头来将显示器的线和电脑的接口进行适配。

适配器类别

1.类适配器

2.对象适配器

3.接口适配器

类适配器

类适配器是通过继承被适配的对象,并实现适配的对象的方法来实现的。

被适配的对象

public class Display {

    public String vga(){
        return "vga";
    }

}

适配的对象

public interface Computer {

    public void hdmi();

}

适配器

public class Adapter extends Display implements Computer{
    
    public void hdmi() {
        String result = super.vga();
        result = "hdmi";
        System.out.println(result);
    }

}

外接显示器Display只有vga的线,但是电脑Computer的接口是hdmi的,在这种情况下电脑是不能使用外接的显示器的,如果要使用外接的显示器的话,就需要使用转接头(适配器),在适配器的hdmi方法中将vga转换为hdmi,这样我们就可以使用外接的显示器了。

测试

public void Adapter(){
    Adapter adapter = new Adapter();
    adapter.hdmi();
}

对象适配器

对象适配器主要是在适配器类中不再继承被适配的对象,而是通过在创建适配器对象的时候传递被适配的对象的实例。

适配器

public class Adapter implements Computer{
    
    private Display display;
    
    public Adapter(Display display){
        this.display = display;
    }

    public void hdmi() {
        String result = display.vga();
        result = "hdmi";
        System.out.println(result);
    }

}

对象适配器不再继承被适配的对象,这样的好处就是适配器可以适配多个对象,当需要适配多个的时候只需要定义一个接口,多个被适配的对象去实现接口的统一方法,并将适配器类中的构造方法的参数改成接口的名称,这样就可以适配多个对象。

适配器模式.png

测试

public void adapter(){
    Adapter adapter = new Adapter(new Display());
    adapter.hdmi();
}

接口适配器

接口适配器就是将适配器对象Adapter设置为抽象类,而Adapter类中的hdmi方法可以根据自己的需求来决定是否需要编写具体的代码,也可以在创建适配器Adapter对象的时候重写hdmi方法。

适配器

public abstract class Adapter extends Display implements Computer{

    public void hdmi() {
        
    }

}

测试

public void adapter() {
    Adapter adapter = new Adapter() {
        public void hdmi() {
            String result = super.vga();
            result = "hdmi";
            System.out.println(result);
        }
    };
    adapter.hdmi();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值