zoukankan      html  css  js  c++  java
  • 警报观察

    Observer

    Observer接口

    public interface Observer {
        //通知
        void notice();
        String  getName();
    }
    

    Alarm

    public class Alarm {
        List<Observer> observers = new ArrayList<>();
    
        public void addObserver(Observer o){
            observers.add(o);
        }
    
        public void removeObserver(Observer o){
            observers.remove(o);
        }
    
        public void notice(){
            for (Observer observer:this.observers){
                observer.notice();
            }
        }
    }
    

    Fighter

    public class Fighter implements Observer{
        private String name;
    
        public Fighter() {
        }
    
        public Fighter(String name) {
            this.name = name;
        }
    
        @Override
        public void notice() {
            System.out.println(name+"士兵向城外集合...");
        }
    
        @Override
        public String getName() {
            return this.name;
        }
    }
    

    Worker

    public class Worker implements Observer{
        private String name;
    
        public Worker() {
        }
    
        public Worker(String name) {
            this.name = name;
        }
    
        @Override
        public void notice() {
            System.out.println(name+"工人向城内集合...");
        }
    
        @Override
        public String getName() {
            return this.name;
        }
    }
    

    Main

    public class Main {
        public static void main(String[] args) {
            Alarm alarm = new Alarm();
            Fighter f1 = new Fighter("peter");
            Fighter f2 = new Fighter("gus");
            Worker w1 = new Worker("al");
            Worker w2 = new Worker("patrick");
    
            alarm.addObserver(f1);
            alarm.addObserver(f2);
            alarm.addObserver(w1);
            alarm.addObserver(w2);
    
            alarm.notice();
        }
    }
    

    本文来自博客园,作者:CLAY——MRX,转载请注明原文链接:https://www.cnblogs.com/do-it-520/p/observer.html

    韶华易逝,不能虚度年华。
  • 相关阅读:
    检测后缀表达式的合法性
    对表达式进行空白符预处理
    字符串替换
    中缀表达式的计算
    Linux shell编程
    Linux常用shell
    [转载]shell脚本编写规范
    [转载]Linux文件类型
    Linux的进程
    Linux进入命令行模式
  • 原文地址:https://www.cnblogs.com/do-it-520/p/observer.html
Copyright © 2011-2022 走看看