• 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这个抽象类,然后在覆盖自己所需要的方法。

  • 相关阅读:
    typro常用快捷键
    02: kali-linux破解密码运行脚本并隐藏进程
    01:kali安装使用
    01: 模拟挖矿黑客攻击过程
    12: docker-compose部署django+nginx+uwsgi+celery+redis+mysql
    11: Django + gunicorn + Nginx 的生产环境部署
    博客说明
    计算机中原码,反码,补码之间的关系
    修改linux下yum镜像源为国内镜像
    webp图片技术调研最终结论(完全真实数据可自行分析)
  • 原文地址:https://www.cnblogs.com/zwjcom/p/11142473.html
Copyright © 2020-2023  润新知