7、适配器模式

一、适配器模式定义

  把一个类的接口变换成客户端所期待的另一种接口,使得原本由于接口不兼容而不能再一起工作的那些类可以一起工作。

 

二、适配器模式分类

  1、类的适配器模式(采用继承实现)

  2、对象适配器(采用对象组合方式实现)

 

三、应用场景

  1、系统需要使用现有的类,而这个类的接口不符合系统的需要

  2、想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。这些源类不一定有很重复的接口。

  3、在设计中,需要改变多个已有子类的接口,如果使用类的适配器模式,就要针对每一个子类做一个适配器,而这不太实际。

 

四、类适配器

public interface Switch {
    public void provide();
}
public class Phone {
    public void use(){
        System.out.println("通电使用");
    }
}
public class Adaptor extends Phone implements Switch {
    @Override
    public void provide() {
        System.out.println("提供电力");
        super.use();
    }
}
public class Client {
    public static void main(String[] args) {
        Adaptor adaptor=new Adaptor();
        adaptor.provide();
    }
}

 

五、对象适配器模式

  

public class Switch {
    public void provide(){
        System.out.println("提供电力");
    }
}
public class Phone {
    public void use(){
        System.out.println("有电使用");
    }
}
public class Adaptor extends Switch {
    Phone myphone=new Phone();

    @Override
    public void provide() {
        super.provide();//通过继承来调用Switch的方法
        myphone.use();//通过聚合调用Phone的方法
    }
}
public class Client {
    public static void main(String[] args) {
        Adaptor adaptor=new Adaptor();
        adaptor.provide();
    }
}

 

posted @ 2018-03-07 20:17  彩电  阅读(141)  评论(0编辑  收藏  举报