zoukankan      html  css  js  c++  java
  • 适配者模式(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();
        }
    }
    
    
    • 输出如下:

    以上
    希望对大家有所帮助

  • 相关阅读:
    spring mvc poi excel
    select onchange事件的使用
    eclipse下svn的分支与合并指南
    jquery_final
    ListView
    资源的使用
    Notification
    单选
    复选框
    调试
  • 原文地址:https://www.cnblogs.com/lavender-pansy/p/14300629.html
Copyright © 2011-2022 走看看