zoukankan      html  css  js  c++  java
  • Java-马士兵设计模式学习笔记-观察者模式-OOD 封装event

    把小孩醒来时的具体情况封装成事件类

    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();
    	}
    }
    

      

    运行结果:

  • 相关阅读:
    LeetCode 79. 单词搜索
    LeetCode 1143. 最长公共子序列
    LeetCode 55. 跳跃游戏
    LeetCode 48. 旋转图像
    LeetCode 93. 复原 IP 地址
    LeetCode 456. 132模式
    LeetCode 341. 扁平化嵌套列表迭代器
    LeetCode 73. 矩阵置零
    LeetCode 47. 全排列 II
    LeetCode 46. 全排列
  • 原文地址:https://www.cnblogs.com/shamgod/p/4588451.html
Copyright © 2011-2022 走看看