Java设计模式之适配器模式

适配器模式

  • 作为两个不兼容的接口之间的桥梁。
  • 属于结构型模式

1.类适配器模式

要访问的方法不在合适的接口里

Adapter类通过继承 src类,实现 dst 类接口,完成src->dst的适配

//适配器模式 继承目的类  实现源接口
//Rest --> Work
class AdapterRest extends WorkA implements Rest {
    public void doRest() {
        doWork();
    }
}

优点:

  • 可重写src类的方法

缺点:

  • 所有类适配器需要继承src类
  • 要求dst必须是接口

2.对象适配器模式

持有 src类,实现 dst 类接口,完成src->dst的适配

//对象适配器
class AdapterRest implements Rest{
    private Work work;
    public AdapterRest(Work work){
        this.work = work;
    }
    public void doRest() {
        work.doWork();
    }
}

测试:

AdapterRest adapter = new AdapterRest(new WorkA());
adapter.doRest();//do work A

3.接口适配器

想要使用接口中的某个或某些方法

可以使用抽象类来实现接口,并不对方法进行实现
然后我们再继承这个抽象类来通过重写需要的方法的方式来实现

这个抽象类就是适配器。

abstract class Adapter implements Rest{}
class AdapterRest extends Adapter{
    public void doRest() {
        System.out.println("do rest by adapterRest");
    }
}

猜你喜欢

转载自blog.csdn.net/moni_mm/article/details/80076044