设计模式-观察者模式(java)
当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。
类图
公共类顾敏实现观察者
私有字符串名称;
公共顾敏(字符串n){ 0
//TODO自动生成的构造函数存根
名称=n;
}
@覆盖
public void moneyUp(){ 0
//TODO自动生成的方法存根
System.out.println(name '买了一些股票(股票升了)');
}
@覆盖
public void money DoWn(){ 0
//TODO自动生成的方法存根
System.out.println(name '股票降价了,哭了');
}
}
公开课谷朴延伸主题{
公家瓢(){中
//TODO自动生成的构造函数存根
}
/*
*公开作废添加(观察者o){ super。添加(o);}
*/
公共空间(双a){ 0
//TODO自动生成的方法存根
if(a0.05)
for(观察者口香糖: olist){ 0
口香糖。钱涨了();
}
}
公共作废(双a){ 0
//TODO自动生成的方法存根
if(a0.05)
观察员gum:olist()
口香糖。money DoWn();
}
}
}
公共界面观察者(
公众作废钱();
public void money DoWn();
}
导入Java。乌提尔。ArrayList
公共抽象类主题{
受保护的数组列表服务器olist=new ArrayList();
公共主题(){ 0
//TODO自动生成的构造函数存根
}
公共无效添加(观察者o){ 0
奥利斯特。添加(o);
}
公共无效删除(观察者o){ 0
奥利斯特。移除(o);
}
公共摘要作废(双a);
公开摘要作废(双a);
}
公共类客户端{
公共静态void main(String[]参数){ 0
//TODO自动生成的构造函数存根
科目f=新增古票();
顾敏g1=新顾敏('李峰股民');
顾敏g2=新顾敏('王磊股民');
f。添加(G1);
f。添加(G2);
System.out.println('股票升了');
f。上升(0.1);
System.out.println('比率小于0.05');
系统。出去。println();
f。下降(0.001);
System.out.println('股票降了');
f。向下(0.1);
System.out.println('比率小于0.05');
f。下降(0.001);
}
}
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/107435.html