java笔试题-> 观察者设计模式2

来源:互联网 发布:android网络响应速度 编辑:程序博客网 时间:2024/05/15 04:40

import java.util.Vector;








//观察者设计模式


public class ObserverClient
{
public static void main(String[] args) 
{
Subject sub=new Event();
sub.attach(new observer1());
sub.attach(new observer2());
sub.doSomething();
}

}




abstract class Subject
{
Vector<Observer> vector=new Vector<Observer>();

public void attach(Observer o)
{
vector.add(o);
}

public void detach(Observer o)
{
vector.remove(o);
}

public void notifyObserver()
{
for(Observer o : vector)
{
o.update();
}
}

public abstract void doSomething();

}


class Event extends Subject
{
public void doSomething()
{
notifyObserver();
}
}






interface Observer
{
public void update();
}


class observer1 implements Observer
{
public void update() {
System.out.println("observer1 be updated");
}
}


class observer2 implements Observer
{
public void update() {
System.out.println("observer2 be updated");
}
}

0 0
原创粉丝点击