📄 timer_doorcloseobserver.java
字号:
package myoven.observer;import myoven.door.*;import myoven.timer.*;/* 为timer预定关门事件的观察者 当关门时候,设置timer的外部条件状态:isOk=true;表示计时器开始工作的外部条件成立 此观察者的引入是因为:在门处于开启状态,单击取消按钮,要求发声,而取消按钮事件同时 被light预定,即用户点击取消按钮要求熄灯,而现在门处于开启状态,灯要求是亮着的。所以为 timer添加了isOn标志其外部条件是否成立,门一旦关闭即外部条件成立,此外部条件日后可以扩展 为多种条件。如此,在观察者:Light_CancelButtonObserver中,light的recieveButtonNotification() 事件中加入判断timer.getIsOk()==true才执行 light.turnOff()。否则不执行,即门处于开启状态时 timer.getIsOk()==false,不执行light.turnOff(),否则,则执行,如在烹饪过程中单击取消按牛, 必定要求关灯 */public class Timer_DoorCloseObserver extends DoorCloseObserver { Timer timer=Timer.getInstance();//得到计时器的唯一实例 public Timer_DoorCloseObserver() { } public void recieveDoorCloseNotification() { timer.setIsOk(true);//关上门是可以计时的先决条件,timer工作的外部条件成立 }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -