现在的位置: 首页 > 综合 > 正文

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

2018年05月10日 ⁄ 综合 ⁄ 共 736字 ⁄ 字号 评论关闭

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");
}
}

抱歉!评论已关闭.