您的位置:首页 > 编程语言 > Java开发

Java---观察者设计模式

2016-08-23 22:37 435 查看
当一个物体发生改变的时候,另外的几个物体同时收到变更提示,并作出相应的反应操作。


import java.util.Observable;
import java.util.Observer;
class animation  extends Observable{        //定义被观察者  动漫剧
private String updateNote;              //定义动漫更新内容
public animation(String updateNote){
this.updateNote = updateNote;
}
public void setUpdate(String updateNote){
super.setChanged();
super.notifyObservers(updateNote);
this.updateNote = updateNote;
}
public String getUpdate() {
return updateNote;
}
}
class viewers implements Observer{          //定义观察者  追动漫剧的人
private String name;
public viewers(String name){
this.name = name;
}
@Override
public void update(Observable obs, Object updateNote) {
if(obs instanceof Observable){
if(obs instanceof animation ){
String note = (String)updateNote;
System.out.println("动漫更新:"+note+",通知追剧者:"+this.name);
}
}
}
}
public class Test {
public static void main(String[] args) {
animation anmt = new animation("喜洋洋与灰太狼");
viewers wt1 = new viewers("老顽童");
viewers wt2 = new viewers("小不点");
viewers wt3 = new viewers("宅男");
anmt.addObserver(wt1);
anmt.addObserver(wt2);
anmt.addObserver(wt3);
anmt.setUpdate("喜洋洋与灰太狼二");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式