Java-马士兵设计模式学习笔记-观察者模式-OOD 封装event
2024-10-10 03:05:37
把小孩醒来时的具体情况封装成事件类
Test.java
class WakenUpEvent{ private long time;
private String location;
private Child source; public WakenUpEvent(long time, String location, Child source) {
super();
this.time = time;
this.location = location;
this.source = source;
} public long getTime() {
return time;
} public void setTime(long time) {
this.time = time;
} public String getLocation() {
return location;
} public void setLocation(String location) {
this.location = location;
} public Child getSource() {
return source;
} public void setSource(Child source) {
this.source = source;
} } class Child implements Runnable { private Dad dad; public Child(Dad dad) {
this.dad = dad;
} public void wakeUp(){
dad.actionToWakenUp(new WakenUpEvent(System.currentTimeMillis(), "bed", this));
} @Override
public void run() {
try {
Thread.sleep(3000);
} catch (Exception e) {
e.printStackTrace();
}
wakeUp();
}
} class Dad { public void actionToWakenUp(WakenUpEvent e) {
System.out.println(e.getTime());
System.out.println(e.getLocation());
System.out.println(e.getSource());
System.out.println("Fedd the child");
} } public class Test { public static void main(String[] args) {
Dad d = new Dad();
Child c = new Child(d);
new Thread(c).start();
}
}
运行结果:
最新文章
- 关键帧动画:@keyframes
- JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)
- javascript中数组concat()join()split()
- Java创建目录 mkdir与mkdirs的区别
- PROCESS STATES
- 关键字 base 的作用
- Boa练习程序2
- 《sort命令的k选项大讨论》-linux命令五分钟系列之二十七
- Spring 4.x org.springframework.http.converter.json.MappingJacksonHttpMessageConverter ClassNotFoundException:
- 用java写bp神经网络(二)
- css3滚动提示
- mysql----show slave status \G 说明
- 使用ResourceDictionary管理Logical Resources
- 关于 mybatis-generator自定义注释生成 使用DefaultCommentGenerator重写来完成
- DC3求后缀数组板子
- Jquery Post提交时Content-Type的不同取值详解
- jQuery Mobile的默认配置项具体解释,jQuery Mobile的中文配置api,jQuery Mobile的配置说明,配置大全
- hdoj-1068(二分图的最小点覆盖)
- Java KeyNote
- Longest Word in Dictionary through Deleting - LeetCode