观察者:
//产品类
public class Products extends Observable {
private Man man;
private Women women;
public Man getMan() {
return man;
}
public void setMan(Man man) {
this.man = man;
setChanged();
notifyObservers(man);
}
public Women getWomen() {
return women;
}
public void setWomen(Women women) {
this.women = women;
setChanged();
notifyObservers(women);
}
}
被观察者:
public class ManObserver implements Observer {
@Override
public void update(Observable o, Object arg) {
if(arg instanceof Man){
Man man=(Man)arg;
System.out.println("man property is changed:"+man);
}
}
}
public class WomenObserver implements Observer {
@Override
public void update(Observable o, Object arg) {
System.out.println("o--------------------------->"+o.toString());
if(arg instanceof Women){
Women women=(Women)arg;
System.out.println("women property is changed:"+women);
}
}
}
业务类;
public class ProductsTest {
public static void main(String[] args) {
Man man=new Man();
man.setName("wei");
man.setAge(26);
man.setGirlname("marris");
man.setHobby("乒乓球");
man.setIsvirgin(true);
Women women=new Women();
women.setName("marris");
women.setAge(24);
women.setBoyname("wei");
women.setHobby("皮球");
women.setIsvirgin(true);
Products p=new Products();
ManObserver mam=new ManObserver();
WomenObserver womenObserver=new WomenObserver();
p.addObserver(mam);
p.addObserver(womenObserver);
p.setMan(man);
p.setWomen(women);
}
}