观察者模式
//观察者模式,多个对象观察某个状态的改变,比如说spring的事件监听事件
public interface HomeWork {
public void change(String name);
}
public class Student01 implements HomeWork{
@Override
public void change(String name) {
System.out.println("Student01 接收到作业"+name);
}
}
public class Student02 implements HomeWork{
@Override
public void change(String name) {
System.out.println("Student02 接收到作业"+name);
}
}
public class Teacher {
// 家庭作业
private String homeworkName;
//要通知的学生
public List<HomeWork> arrayList = new ArrayList<HomeWork>(2);
public String getHomeworkName() {
return homeworkName;
}
// 布置作业的时候通知学生
public void setHomeworkName(String homeworkName) {
for (HomeWork o : arrayList) {
o.change(homeworkName);
}
this.homeworkName = homeworkName;
}
public List<HomeWork> getArrayList() {
return arrayList;
}
public void setArrayList(List<HomeWork> arrayList) {
this.arrayList = arrayList;
}
}
Teacher teacher = new Teacher();
ArrayList<HomeWork> objects = new ArrayList<>();
objects.add(new Student01());
objects.add(new Student02());
teacher.setArrayList(objects);
teacher.setHomeworkName("语文");

浙公网安备 33010602011771号