您的位置:首页 > 其它

最简单的观察者模式--转载

2015-10-27 17:06 218 查看
public class ObserveTest {

public static void main(String[] args) {

Boss boss = new Boss("刷新");

boss.attach(new NBAObserver(boss));

boss.attach(new FIFAObserver(boss));

boss.notifyThem();

}

}

abstract class Observer{

public Subject mSubject;

public Observer(Subject s){

mSubject = s;

}

public abstract void update();

}

abstract class Subject{

String mInfo;

public abstract void attach(Observer o);

public abstract void detach(Observer o);

public abstract void notifyThem();

}

class NBAObserver extends Observer{

public NBAObserver(Subject s) {

super(s);

}

public void update() {

System.out.println("NBA hear:"+mSubject.mInfo);

}

}

class FIFAObserver extends Observer{

public FIFAObserver(Subject s) {

super(s);

}

public void update() {

System.out.println("FIFA hear:"+mSubject.mInfo);

}

}

class Boss extends Subject{

ArrayList<Observer> mList = new ArrayList<Observer>();

public Boss(String info){

mInfo = info;

}

public void attach(Observer o) {

mList.add(o);

}

public void detach(Observer o) {

mList.remove(o);

}

public void notifyThem() {

for (Observer o : mList) {

o.update();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: