适配者模式(Adapter)_java实现

//20210119
写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现适配者模式

核心思想

  • 构造一个适配器类,该类有原本的功能,也能糅合其他类的功能,最终通过一个类实现多个类的功能(这些类之间原本之间并不能通信,而适配器为多个类提供接口,然后统一输出)

程序源代码如下:

//适配器抽象类

public abstract class CarController {
    //此类中有一个移动的方法
    public void move(){
        System.out.println("玩具汽车正在移动");
    }

    public abstract void sound();
    public abstract void light();
}

//适配者类————发光

public class PoliceLight {
    public void alarmLight(){
        System.out.println("发出亮光");
    }

}

//适配者类————声音
public class PoliceSound {
    public void alarmSound(){
        System.out.println("发出声音");
    }
}

//适配器实现类
public class PoliceCarAdapter extends CarController{
    private PoliceLight policeLight;
    private PoliceSound policeSound;

    public PoliceCarAdapter(){
        policeLight = new PoliceLight();
        policeSound = new PoliceSound();
    }

    @Override
    public void sound() {
        policeSound.alarmSound();
    }

    @Override
    public void light() {
        policeLight.alarmLight();
    }
}

//测试主类
public class Main {
    public static void main(String[] args) {
        CarController policeCarAdapter = new PoliceCarAdapter();
        policeCarAdapter.move();
        policeCarAdapter.light();
        policeCarAdapter.sound();
    }
}

  • 输出如下:

以上
希望对大家有所帮助

posted @ 2021-01-19 23:13  醉生梦死_0423  阅读(163)  评论(0)    收藏  举报