📄 door.java
字号:
package myoven.door;import java.util.*;public class Door { Vector Observers_DoorOpen; //预定开门者集合 Vector Observers_DoorClose;//预定关门者集合 boolean isOpen; public boolean getIsOpen(){//返回门的状态 return isOpen; } public Door() { isOpen=false;//初始默认是门是关闭的 Observers_DoorOpen=new Vector(); Observers_DoorClose=new Vector(); } public void open(){//通知所有预定了开门事件的观察者 isOpen=true;//门开了 for(int i=0;i<Observers_DoorOpen.size();i++){ ((DoorOpenObserver)Observers_DoorOpen.elementAt(i)).recieveDoorOpenNotification(); } } public void close(){//通知所有预定了关门事件的观察者 isOpen=false;//门关了 for(int i=0;i<Observers_DoorClose.size();i++){ ((DoorCloseObserver)Observers_DoorClose.elementAt(i)).recieveDoorCloseNotification(); } } public void subscribeDoorOpen(Object obt){ //为观察者预定开门事件 Observers_DoorOpen.add(obt); } public void subscribeDoorClose(Object obt){//为观察者预定关门事件 Observers_DoorClose.add(obt); } public void unsubscribeDoorOpen(Object obt){//撤消预定开门事件 Observers_DoorOpen.remove(obt); } public void unsubscribeDoorClose(Object obt){//撤消预定关门事件 Observers_DoorClose.remove(obt); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -