Java基础之Observable与Observer接口观察者模式

原创 2015年07月09日 23:08:05

观察者模式


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

class House extends Observable{	// 表示房子可以被观察
	private float price ;// 价钱
	public House(float price){
		this.price = price ;
	}
	public float getPrice(){
		return this.price ;
	}
	public void setPrice(float price){
		// 每一次修改的时候都应该引起观察者的注意
		super.setChanged() ;	// 设置变化点
		super.notifyObservers(price) ;// 价格被改变
		this.price = price ;
	}
	public String toString(){
		return "房子价格为:" + this.price ;
	}
}; 
class HousePriceObserver implements Observer{
	private String name ;
	public HousePriceObserver(String name){	// 设置每一个购房者的名字
		this.name = name ;
	}
	public void update(Observable o,Object arg){//更新观察者操作
		if(arg instanceof Float){
			System.out.print(this.name + "观察到价格更改为:") ;
			System.out.println(((Float)arg).floatValue()) ;
		}
	}
};
public class DemoObserver {
	public static void main(String args[]){
		House h = new House(1000000) ;
		HousePriceObserver hpo1 = new HousePriceObserver("购房者A") ;
		HousePriceObserver hpo2 = new HousePriceObserver("购房者B") ;
		HousePriceObserver hpo3 = new HousePriceObserver("购房者C") ;
		h.addObserver(hpo1) ;
		h.addObserver(hpo2) ;
		h.addObserver(hpo3) ;
		System.out.println(h) ;	// 输出房子价格
		h.setPrice(666666) ;	// 修改房子价格
		System.out.println(h) ;	// 输出房子价格
	}
}

版权声明:转载注明出处

JavaSE第八十四讲:Observable类与Observer接口详解,深入理解观察者模式

1. 观察者模式(Observer) 观察者模式在Java语言中的地位极其重要,所以JDK也提供了对观察者模式的内置支持。 2. Observable类    Observable类用于...

Java 语言使用 Observer/Observable 实现简单的观察者模式

为了更好的理解什么是观察者模式,下面列举壹些可能用到该模式的情形或例子: (1)周期性任务。比如linux中的周期性任务命令crontab命令,win7 下的定时关机命令shutdown -s -t ...

Java观察者模式 Observable Observer [U01]

part1JDK1.2后,Java提供了对观察者模式的支持接口和实现类。 其中接口java.util.Observer用来指定观察者,观察者必须实现 void update(Observable o...

Java观察者模式 : Observer / Observable

/** Java观察者模式的场景:一个女孩洗澡,被很多男孩偷看。 女孩洞察后,搜索坏男孩,然后继续洗澡。 三个类:Boy,Girl还有主类MainClass。 */ /* 男孩 Boy.java ...

Java_观察者模式(Observable和Observer)

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

java observer和observable 实现观察者模式

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

Java观察者模式 java.util.Observable 与 java.util.Observer 的理解

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

Java观察者模式 java.util.Observable 与 java.util.Observer 的理解及测试实例

Part I JDK1.2后,Java提供了对观察者模式的支持接口和实现类。 其中接口 java.util.Observer 用来指定观察者,观察者必须实现 void update(Obs...

Java常用类库——观察者设计模式(Observer接口、Observable类)

学习目标: 了解观察者设计模式的作用。 掌握Observer接口和Observable类的作用。 观察者设计模式 现在很多的购房者都在关注着房子的价格变化,每当房子价格变化的时候,所有的购房者...

Java常用类库--观察者设计模式( Observable类Observer接口)

如果要想实现观察者模式,则必须依靠java.util包中提供的Observable类和Observer接口。 [java] view plaincopy import jav...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java基础之Observable与Observer接口观察者模式
举报原因:
原因补充:

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