zoukankan      html  css  js  c++  java
  • 简易观察者模式

    1.发布者

    import java.util.Observable;
    
    public class Fabuzhe extends Observable {
        //布置作业的状态信息字符串
        private String info;
        public void setHomework(String info) {
    
            this.info=info;
            System.out.println("布置的作业是"+info);
    
            setChanged();
            notifyObservers();
        }
        public String getInfo() {
            return info;
        }
    }
    

    2.订阅者

    public class Dingyuezhe implements Observer {
        private Observable ob;
        private String name;
    
        public Dingyuezhe(String name,Observable ob) {
            this.ob = ob;
            this.name=name;
            ob.addObserver(this);
        }
    
        @Override
        public void update(Observable o, Object arg) {
            Fabuzhe fabuzhe= (Fabuzhe) o;
            String s=fabuzhe.getInfo();
            System.out.println(name+"得到作业信息:"+s);
        }
    }
    

      3.运行代码事例

    public class ObserverableTest {
        public static void main(String[] args) {
            Fabuzhe fabuzhe=new Fabuzhe();
            Dingyuezhe dingyuezhe=new Dingyuezhe("张三",fabuzhe);
            Dingyuezhe dingyuezhe2=new Dingyuezhe("李四",fabuzhe);
            fabuzhe.setHomework("数学第五页第八题");
            fabuzhe.setHomework("语文第一页背诵课文");
    
        }
    }
    

      

    运行结果如下:
    
    
    布置的作业是数学第五页第八题
    李四得到作业信息:数学第五页第八题
    张三得到作业信息:数学第五页第八题
    布置的作业是语文第一页背诵课文
    李四得到作业信息:语文第一页背诵课文
    张三得到作业信息:语文第一页背诵课文
    

      

  • 相关阅读:
    基于perl的网络爬虫
    ios cell展示可滑动的图片
    iOS计算字符串的宽度高度
    swift水波效果
    iOS添加另一个控制器的时候要注意啊
    swift隐藏显示导航栏的底线
    swift集成alamofire的简单封装
    tableview详细介绍
    xmpp xml基本语义
    xmpp SASL 定义
  • 原文地址:https://www.cnblogs.com/anxbb/p/9849912.html
Copyright © 2011-2022 走看看