java设计模式之适配器(Adapter)

适配器模式的意图在于,使用不同接口的类所提供的服务为客户端提供它所期望的接口。通俗的讲,可以重用现有的类,以满足客户端要求。

适配器分为两大类: 类适配器(接口适配)、对象适配器

类适配器(接口适配)

需要服务方提供以接口服务的时候,考虑到使用接口适配

UML图
这里写图片描述


需要提供服务接口

interface Client {
    void needMethod();
}

已经存在的服务类

class ExistsClass {
    void existsMethod(){
        // 具体实现
    }
}

适配出新的类

class NewClass extends ExistsClass implements Client {
    @Override
    void needMethod() {
        existsMethod();
    }
}

对象适配

当需要适配一组并非定义在接口中的方法时,那么我们需要使用对象适配,这样我们使用的是委派而非继承。

UML图
对象适配

需要适配的类(想要增加功能的类)

class RequireClass{
  void requireMethod();
}

已经存在的服务类

class ExistsClass {
    void existsMethod(){
        // 具体实现
    }
}

适配出新的类

class NewClass extends ExistsClass  {
    private ExistsClass  existsClass ;
    void requireMethod() {
        existsClass.existsMethod();
    }
}

注意:类的适配是继承现有的类,实现目标接口;对象适配是继承目标类,引用现有的类。

猜你喜欢

转载自blog.csdn.net/hfc189933/article/details/81980446