zoukankan      html  css  js  c++  java
  • java设计模式----适配者模式

    目录

      1.介绍适配者模式

      2.常见的适配者模式

      3.适配者模式的简单实现

    一、什么是适配者模式

      在java开发中,有一个叫做接口的东西,如果我们要用到接口的话,我们需要实现接口,我们需要实现接口中的所有方法,但是在有些场景,一个接口中有许多方法,但是我们只需要使用这个接口中的一个或很少的方法,如果实现这个接口的话会有许多方法是空的,适配者模式则可以解决这种有许多空的方法的问题。

    二、常见的适配者模式

      适配者模式中有个叫适配器的东西,这个适配器可以用来将适配接口,java开发中在gui开发中的事件的触发器中使用的比较频繁,比如鼠标事件的适配器,键盘事件的适配器等。。。

    三、适配者模式的简单实现

      适配者模式首先需要有一个复杂且不一定需要全部都用到的接口如下:

    package com.demo.adaptation;
    /**
     * 鼠标的所有事件监听
     * @author HYSong
     *
     */
    public interface MouseListen {
        void move();
        void click();
        void dbclick();
        void mouse3();
        void mousedown();
        void mouseup();
    }

      之后定义一个鼠标适配器

    package com.demo.adaptation;
    
    /**
     * 鼠标适配器
     * @author HYSong
     *
     */
    public class MouseAdapter implements MouseListen{
    
        @Override
        public void move() {}
    
        @Override
        public void click() {}
    
        @Override
        public void dbclick() {}
    
        @Override
        public void mouse3() {}
    
        @Override
        public void mousedown() {}
    
        @Override
        public void mouseup() {}
        
    }

      这个适配器是个类,它对所有方法进行了一个空的实现,当我们用到时就只需要重写我们需要用的方法就可以了。

    package com.demo.adaptation;
    /**
     * 适配者模式的实现类
     * @author HYSong
     *
     */
    public class App {
        public static void main(String[] args) {
            MouseAdapter adapter = new MouseAdapter() {
                public void move() {
                    System.out.println("鼠标移动事件触发");
                }
            };
            adapter.move();
        }
    }
  • 相关阅读:
    终极调试工具EventRecorder使用方法,各种Link通吃
    stm32如何才能正常运行的调试笔记
    自己常用的vscode的插件备忘录
    linux下(lubuntu18.04.4)安装tinycc编译器及运行调试C语言
    虚拟机下的lubuntu14.04磁盘扩展
    使用lubuntu14.04编译ESP8266_NONOS_SDK3.0.0
    c语言中不建议使用的库函数
    RS485, RS422 and RS232连线
    Sql server output 功能介绍
    句子成分:主谓宾等
  • 原文地址:https://www.cnblogs.com/bananafish/p/10405296.html
Copyright © 2011-2022 走看看