您的位置:首页 > 房产 > 建筑 > 中国网站建设代理项目_移动端开发用什么编程语言_优化设计三年级上册答案语文_聊城seo整站优化报价

中国网站建设代理项目_移动端开发用什么编程语言_优化设计三年级上册答案语文_聊城seo整站优化报价

2025/3/7 4:30:13 来源:https://blog.csdn.net/HongSH945/article/details/145902734  浏览:    关键词:中国网站建设代理项目_移动端开发用什么编程语言_优化设计三年级上册答案语文_聊城seo整站优化报价
中国网站建设代理项目_移动端开发用什么编程语言_优化设计三年级上册答案语文_聊城seo整站优化报价

行为型模式 - 命令模式 (Command Pattern)

命令模式将请求封装成一个对象,从而允许你使用不同的请求、队列或日志来参数化其他对象,同时支持请求的撤销与恢复。以下是几个常见的命令模式经典案例。


// 1. 定义命令接口
interface Command {void execute();void undo();
}// 2. 创建具体命令类
class LightOnCommand implements Command {private Light light;public LightOnCommand(Light light) {this.light = light;}@Overridepublic void execute() {light.on();}@Overridepublic void undo() {light.off();}
}class LightOffCommand implements Command {private Light light;public LightOffCommand(Light light) {this.light = light;}@Overridepublic void execute() {light.off();}@Overridepublic void undo() {light.on();}
}// 3. 创建接收者类
class Light {public void on() {System.out.println("Light is on");}public void off() {System.out.println("Light is off");}
}// 4. 创建调用者类
class RemoteControl {private Command command;public void setCommand(Command command) {this.command = command;}public void pressButton() {command.execute();}public void pressUndo() {command.undo();}
}// 5. 客户端代码
public class CommandPatternDemo {public static void main(String[] args) {// 创建接收者Light light = new Light();// 创建具体命令并绑定接收者Command lightOn = new LightOnCommand(light);Command lightOff = new LightOffCommand(light);// 创建调用者RemoteControl remote = new RemoteControl();// 绑定命令并执行remote.setCommand(lightOn);remote.pressButton();  // 输出: Light is onremote.setCommand(lightOff);remote.pressButton();  // 输出: Light is off// 撤销操作remote.pressUndo();     // 输出: Light is on}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com