设计模式_观察者模式(Observer)

package com.observer;

import java.util.Observable;

/**
 * 老师类,被观察者
 * @author 83998
 *
 */
public class Teacher extends Observable {

	public void speak(String str) {
		System.out.println("Mr c said:" + str);
		setChanged();
		notifyObservers(str);
	}
}

package com.observer;

import java.util.Observable;
import java.util.Observer;

/**
 * 学生,观察者
 * @author 83998
 *
 */
public class Student implements Observer {

	@Override
	public void update(Observable arg0, Object arg1) {
		System.out.println("student listened:" + arg1);
	}

}

package com.observer;

/**
 * 测试类
 * @author 83998
 *
 */
public class Test {
	public static void main(String[] args) {
		Teacher teacher = new Teacher();
		teacher.addObserver(new Student());
		teacher.addObserver(new Student());
		teacher.addObserver(new Student());
		teacher.addObserver(new Student());

		teacher.speak("class is over!");
	}
}

发布了340 篇原创文章 · 获赞 23 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Chill_Lyn/article/details/103647591