• Java设计模式之适配器模式


    在Java中规定: 一个具体类要实现一个接口的时候必须要实现接口中全部的抽象方法。

    我们能否让一个具体类实现一个接口的时候 只是实现它接口中的部分的抽象方法呢?

    适配器模式就是用来掘金一个具体类只想实现接口中部分抽象方法的这种问题。

    import java.awt.Frame;

    public class MyFrame extends Frame{
        public MyFrame(String title){
            super(title);        
        }
    }

    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;

    public abstract class WindowAdapter implements WindowListener {

        @Override
        public void windowOpened(WindowEvent e) {
        
        }
        
        @Override
        public void windowClosing(WindowEvent e) {
        
        }
        
        @Override
        public void windowClosed(WindowEvent e) {
        
        }
        
        @Override
        public void windowIconified(WindowEvent e) {
        
        }
        
        @Override
        public void windowDeiconified(WindowEvent e) {
        
        }
        @Override
        
        public void windowActivated(WindowEvent e) {
        
        }
        
        @Override
        public void windowDeactivated(WindowEvent e) {
        
        }
    }


    import java.awt.event.WindowEvent;

    public class MyWindowListener extends WindowAdapter{
        
        @Override
        public void windowClosing(WindowEvent e){
            System.exit(0);//退出JMVM
        }        
    }

    import java.awt.Frame;

    public class Main {
        public static void main(String[] args) {    
            MyFrame mf = new MyFrame("我的窗口程序");
            mf.setSize(1000,1000);        //设置窗口大小
            mf.setLocation(200,200);    //设置窗口位置
            mf.setVisible(true);        //默认不可见 改为可见
            mf.addWindowListener(new MyWindowListener());   //添加监听器            
        }
    }

    这种方式 通过创建 一个抽象类WindowAdapter,平庸实现了目标接口WindowListener,

          让具体类MyWindowListener继承WindowAdapter这个抽象类,然后在覆盖自己所需要的方法。

  • 相关阅读:
    数据库
    Python基础
    flask 文件的上传下载和excel操作
    Django 知识点补充
    Django部署时为什么要用 uWSGI与 Nginx? 以及 WSGI,uwsgi等协议
    Memcached 补充
    websocket基本概念
    Tornado 异步非阻塞
    Tornado 自定义session,与一致性哈希 ,基于redis 构建分布式 session框架
    functools 和 itertools
  • 原文地址:https://www.cnblogs.com/zwjcom/p/11142473.html
Copyright © 2020-2023  润新知