package Observer.MyTest;
import java.util.Observable;
import java.util.Observer;
public class ObserverTest {
/**
* @param args
*/
public static void main(String[] args) {
observered oe=new observered();
observerB ob=new observerB();
oe.addObserver(new observerA());
oe.addObserver(ob);
oe.showb();
// oe.showg();
}
// 被观察者
static class observered extends Observable{
// 场上表现
public void showg()
{
System.out.println("选手变现得不错");
setChanged();
notifyObservers(1);
}
public void showb()
{
System.out.println("选手变现得一般");
setChanged();
notifyObservers(2);
}
}
// 观察者--竞争对手
static class observerA implements Observer{
@Override
public void update(Observable o, Object arg) {
Integer i=(Integer) arg;
System.out.print("竞争对手");
if(i.intValue()==1)
{
System.out.println("有压力");
}else{
System.out.println("有希望进入下一轮");
}
}
}
// 观察者--观众
static class observerB implements Observer{
@Override
public void update(Observable o, Object arg) {
Integer i=(Integer) arg;
System.out.print("观众");
if(i.intValue()==1)
{
System.out.println("鼓掌");
}else{
System.out.println("唏嘘");
}
}
}
}
观察者设计模式 (observer模式) java实现
最新推荐文章于 2024-06-13 21:51:44 发布