| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |

中国网管联盟bitsCN.com |
package com.zj.doorstate;
public interface DoorState {
void open();
void close();
} |
|
package com.zj.doorstate;
public class AutoDoor {
private DoorState state;
private DoorState open = new Open(this);
private DoorState close = new Close(this);
public AutoDoor() {
this.state = open;
}
public void setSate(DoorState state) {
this.state = state;
}
public DoorState getOpenState() {
return open;
}
public DoorState getCloseState() {
return close;
}
public void open() {
state.open();
}
public void close() {
state.close();
}
} |
|
package com.zj.doorstate;
public class Open implements DoorState {
private AutoDoor door;
public Open(AutoDoor door) {
this.door = door;
}
public void close() {
System.out.println("O.K. Door closed.");
door.setSate(door.getCloseState());
}
public void open() {
System.out.println("Door already opened.");
}
} |
|
package com.zj.doorstate;
public class Close implements DoorState {
private AutoDoor door;
public Close(AutoDoor door) {
this.door = door;
}
public void close() {
System.out.println("Door already closed.");
}
public void open() {
System.out.println("O.K. Door opened.");
door.setSate(door.getOpenState());
}
} |
|
0
|
评论加载中…