设计模式(观察者)自己写的例子
2011-05-24 16:20
375 查看
观察者:
//产品类
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);
}
}
//产品类
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);
}
}
相关文章推荐
- C#设计模式---观察者模式简单例子
- [设计模式]_[中级]_[观察者模式在项目中实际使用例子]
- 设计模式之观察者模式 简单易懂的小例子
- [设计模式]_[观察者模式在窗口之间消息传递的使用例子]
- js设计模式中发布与订阅实现观察者模式例子
- JAVA设计模式-观察者模式简单例子
- 委托和事件(五)--例子--涵盖了观察者设计模式
- Java-马士兵设计模式学习笔记-观察者模式-AWT简单例子
- 设计模式(二):自己动手使用“观察者模式”实现通知机制
- 设计模式---观察者模式(恐怖袭击、地震的例子,有类关系图)
- 《Head First 设计模式》例子的C++实现(2 观察者模式)
- 观察者设计模式例子
- 《Head First 设计模式》例子的C++实现(2 观察者模式)
- 设计模式_观察者模式(带例子)
- 设计模式-观察者模式实现例子(ruby)
- 用Java设计模式中的观察者模式开发微信公众号的例子
- 设计模式: 自己手动实现一个观察者设计模式
- 实习之路1--设计模式之观察者模式的理解(温度计例子)
- C#设计模式---观察者模式简单例子
- [设计模式]_[中级]_[观察者模式在项目中实际使用例子]