用java代码实现观察者模式

原创 2015年11月17日 22:29:25

/*
用java代码实现观察者模式,

前台负责观察老板在办公室还是离开并通知大家,
用观察者模式实现这一过程,请实现Guard类。
使最终输出结果为:
“老板在办公室”  
“前台通知大家:老板离开了”
“前台通知大家:老板回来了”

*/


//被观察的对象。


import java.util.Observable;

class Boss extends Observable {
    private String name;
    private String state;

    public Boss(String name, String state) {
        this.name = name;
        this.state = state;
    }

    public String getName() {
        return name;
    }

    public String getState() {
        this.notifyObservers(state);
        System.out.println(getName() + state);
        return state;
    }

    public void setState(String state) {
        this.state = state;
        this.setChanged();
        this.notifyObservers(state);

    }
}


//观察者

package StaticHao;

import java.util.Observable;
import java.util.Observer;

class Guard implements Observer{
    //观察者的状态
   private String person;
   public Guard(String person){
       this.person=person;
   }
@Override
public void update(Observable o, Object arg) {
    // TODO 自动生成的方法存根
    String state=arg.toString();
    System.out.println(person+"通知大家:老板"+state);
    
}
    
   
}


//测试类

public class ObserverTest {
    public static void main(String[] args) {
        Boss Boss = new Boss("老板", "在办公室");
        Guard guard = new Guard("前台");
        Boss.addObserver(guard);
        Boss.getState();
        Boss.setState("离开了");
        Boss.setState("回来了");
    }
}


相关文章推荐

设计模式之观察者模式简单理解

本篇文章总结于马士兵的视频教程《观察者模式》。个人非常推荐马士兵的视频教程,对于初学Java的人来说,J2SE基础视频非常不错,对于内存分析讲的十分到位。对于有一定基础的人来说,设计模式系列,反射系列...

C语言和设计模式(观察者模式)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】     观察者模式可能是我们在软件开发中使用得比较多的一种设计模式。为什么这么说?大家可...

设计模式——观察者模式 Java源代码

观察者模式,本程序改编自《Head First Design Patterns》上关于气象站的例子,我将例子进行了化简。...

在Java中简单的使用观察者模式

主题接口: public interface Subject { public void registerObserver(observer o); public void remo...

Java设计模式——观察者模式

本文通过两个实例(分别是“气象观测站”和“计时器应用”),对Java设计模式中的观察者模式做一个详细的说明。...

Java设计模式之观察者模式

本文继续介绍23种设计模式系列。介绍的是观察者模式。

java设计模式--观察者模式和事件监听器模式

监听器模式:事件源经过事件的封装传给监听器,当事件源触发事件后,监听器接收到事件对象可以回调事件的方法 观察者模式:观察者(Observer)相当于事件监听者,被观察者(Observable)相当于事...

Java_观察者模式(Observable和Observer)

一、观察者模式介绍 在Java中通过Observable类和Observer接口实现了观察者模式。一个Observer对象监视着一个Observable对象的变化,当Observable对象...

JAVA设计模式 之 观察者模式(JDK内置实现)

简介:使用JAVA内置的观察者模式

java:从消息机制谈到观察者模式

观察者模式,顾名思意就是观察与被观察的关系,比如你在烧开水得时时看着它开没开,你就是观察者,开水就是被观察者;再比如说你在带小孩,你关注她是不是饿了,是不是喝了,是不是撒尿了,你就是观察者,小孩就被观...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用java代码实现观察者模式
举报原因:
原因补充:

(最多只允许输入30个字)