您的位置:首页 > 其它

设计模式之观察者模式

2015-10-21 09:37 330 查看
public class ObserverPattern {

public ObserverPattern() {
Teacher teacher = new Teacher();
Student student = new Student();
student.addObserver(teacher);
student.exam(80);
}

/**
* 被观察者
*/
class Student extends Observable {
String name = "WCY";
int score;

void exam(int score) {
setScore(score);
setChanged();
notifyObservers(getScore());
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getScore() {
return score;
}

public void setScore(int score) {
this.score = score;
}
}

/**
* 观察者
*/
class Teacher implements Observer {

@Override
public void update(Observable o, Object arg) {
String name = ((Student) o).getName();
int score = (int) arg;
System.out.println("name:" + name + ",score:" + score);
}
}

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