zoukankan      html  css  js  c++  java
  • 面试题复习-常用设计模式-委派模式

    接口:

    package com.ajax.pattern.delegate;
    
    interface Tool {
        void work();
    }

    实现:

    package com.ajax.pattern.delegate;
    
    public class Broom implements Tool {
        @Override
        public void work() {
            System.out.println("扫把");
        }
    }
    package com.ajax.pattern.delegate;
    
    public class Mop implements Tool {
        @Override
        public void work() {
            System.out.println("拖把扫地");
        }
    }

    被委派者:

    package com.ajax.pattern.delegate;
    
    import java.util.Calendar;
    
    public class Delegate implements Tool {
        @Override
        public void work() {
            Tool p = Calendar.getInstance().get(Calendar.HOUR_OF_DAY) <= 12 ? new Mop() : new Broom();
            p.work();
        }
    }

    运行:

    package com.ajax.pattern.delegate;
    
    public class Run {
        public static void main(String[] args) {
            new Delegate().work();
        }
    }
  • 相关阅读:
    tcp笔记
    sublime使用技巧
    mysql笔记
    ubuntu安装mysql
    正则表达式笔记
    网络编程笔记
    swoole安装异步reids
    mysql的时间存储格式
    nginx环境的搭建
    php的闭包函数use的使用
  • 原文地址:https://www.cnblogs.com/caizhiqin/p/11290611.html
Copyright © 2011-2022 走看看