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

  • 相关阅读:
    YYHS-吴传之火烧连营(梦回三国系列T3)(trie树)
    YYHS-蜀传之单刀赴会(梦回三国系列T2)(最短路+状压dp)
    YYHS-魏传之长坂逆袭(梦回三国系列T1)
    BZOJ-2330-[SCOI2011]糖果(差分约束)
    BZOJ-1864-[Zjoi2006]三色二叉树(树形dp)
    YYHS-分数(二分+容斥)
    YYHS-猜数字(并查集/线段树维护)
    BZOJ-1225-[HNOI2001] 求正整数
    NOIP2014-飞扬的小鸟(DP)
    欧几里得距离、曼哈顿距离和切比雪夫距离
  • 原文地址:https://www.cnblogs.com/zwjcom/p/11142473.html
Copyright © 2011-2022 走看看