package test.edu.mainrole;
import java.util.ArrayList;
public abstract class AbsRole {
private ArrayList<IObserver> list = new ArrayList<IObserver>();
public void add(IObserver observer) {
list.add(observer);
}
public void delete(IObserver observer) {
list.remove(observer);
}
public void nodifyObservers(String newState) {
for (IObserver observer : list) {
observer.update(newState);
}
}
}
package test.edu.mainrole;
public class Role extends AbsRole {
private String state;
public String getState() {
return state;
}
public void change(String nupdate) {
state = nupdate;
this.nodifyObservers(state);
}
}
package test.edu.mainrole;
public interface IObserver {
public void update(String newState);
}
package test.edu.mainrole;
public class ObserverObj1 implements IObserver{
private String observerState;
@Override
public void update(String state) {
observerState = state;
System.out.println("观察者1的状态为:" + observerState);
}
}
package test.edu.mainrole;
public class ObserverObj2 implements IObserver {
private String observerState;
@Override
public void update(String state) {
observerState = state;
System.out.println("观察者2的状态为:" + observerState);
}
}
package test.edu.mainrole;
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
Role subject = new Role();
IObserver observer1 = new ObserverObj1();
IObserver observer2 = new ObserverObj2();
subject.add(observer1);
subject.add(observer2);
subject.change("update!");
}
}
观察者1的状态为:update! 观察者2的状态为:update!
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有