zoukankan      html  css  js  c++  java
  • 观察者设计模式例子

    1.被观察对象

    package 观察者设计模式;
    
    import java.util.Observable;
    //被观察者对象
    public class ObserverObject extends Observable {
        public String toString()
        {
            return "张小二";
            
        }
        public void sentMessage(String s)
        {
            this.setChanged();
            this.notifyObservers(s);
        }
        
        
    
    }

    2.被观察对象

    package 观察者设计模式;
    
    import java.util.Observable;
    import java.util.Observer;
    
    public class Observer1  implements Observer{
    
        public void update(Observable arg0, Object arg1) {
            
            System.out.println("Observer1 receive " +arg1+" from "+arg0);
            
            
        }
    
    }
    package 观察者设计模式;
    
    import java.util.Observable;
    import java.util.Observer;
    
    public class Observer2 implements Observer{
    
        public void update(Observable o, Object arg) {
            // TODO Auto-generated method stub
            System.out.println( "observer2 "+"received "+arg+"  from "+o);
            
        }
    
    }

    3.主类

    package 观察者设计模式;
    
    public class Main {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            ObserverObject obj=new ObserverObject();
            Observer1 osv=new Observer1();
            Observer2 osv2=new Observer2();
            obj.addObserver(osv);
            obj.addObserver(osv2);
            obj.sentMessage("hello");
            
    
        }
    
    }
  • 相关阅读:
    抓包来看ftp状态码
    socket基础篇
    密码复杂度检查函数
    time模块
    读取日志文件,搜索关键字,打印关键字前5行。yield、deque实例
    装饰器--函数
    yield用法
    字符编码
    pycharm + git实现两台电脑代码同步
    PyCharm常见用法
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/4051702.html
Copyright © 2011-2022 走看看