命令模式:灯开灯关

文章目录

UML类图

Command接口

这个你会,只有一个方法,并且接口里面是抽象方法

java 复制代码
package mlms;
/*
 - 这个你会,只有一个方法,并且接口里面是抽象方法
 */
public interface Command {
	public void execute();
}

Invoker.java

  • executeCommand()就是执行命令
    方法的实现:命令.执行
java 复制代码
package mlms;

public class Invoker {
	public Command command;
	
	public void setCommand(Command command){//set方法 你说怎么写?this!
		this.command = command;
	}
	public void executeCommand(){//还没想好怎么写出来的
		//我想想,这是executeCommand方法,就是执行命令方法。那么具体的实现就是 命令.执行
		command.execute();
	}
}

Light.java

方法的实现:见名知意

on 那就输出 灯开了

java 复制代码
package mlms;
public class Light {
	public void on(){//见名知意
		System.out.println("灯开了");
	}
	public void off(){
		System.out.println("灯关了");
	}
}

OnLightCommand.java

  • execute()那么就是执行灯开,
  • 还要一个构造方法
java 复制代码
package mlms;

public class OnLightCommand implements Command {
	public Light light;
	//就是,你声明了对象light,然后没创建就直接用?不合适吧
	//构造方法
	public OnLightCommand(Light light) {
		this.light = light;
	}	
	@Override
	public void execute() {
		// 那么肯定execute 执行的是让灯开的方法
		light.on();
	}	
}

Test.java

新建接收者 命令 请求者 ,设置命令并执行它

java 复制代码
package mlms;
/*
 * 看灯开的四个 理一遍怎么写的
 * 然后其他的就相当是复制粘贴
 */
public class Test {
	public static void main(String[] args) {
		//你得有请求者吧?
		Invoker in = new Invoker();
		//你得有接收者吧
		Light light = new Light();
		//你得有命令吧
		Command c_on = new OnLightCommand(light);
		
		//先设置命令   再执行他
		in.setCommand(c_on);
		in.executeCommand();
	}
}

运行结果

位置

相关推荐
计算机小混子1 天前
C++实现设计模式---命令模式 (Command)
c++·设计模式·命令模式
大懒猫软件1 天前
如何写出优秀的提示词?ChatGPT官方的六种方法
ai·chatgpt·prompt·命令模式
晚秋贰拾伍2 天前
设计模式的艺术-命令模式
运维·设计模式·运维开发·命令模式·开闭原则
Chris·Bosh3 天前
QT:控件属性及常用控件(3)-----输入类控件(正则表达式)
qt·正则表达式·命令模式
好好学习++5 天前
【HF设计模式】06-命令模式
java·c++·设计模式·命令模式
咖啡の猫5 天前
命令模式详解与应用
设计模式·命令模式
码农爱java10 天前
设计模式--命令模式【行为型模式】
java·设计模式·面试·命令模式·原理·23中设计模式
hope_wisdom11 天前
实战设计模式之命令模式
设计模式·系统架构·软件工程·命令模式·架构设计
仗剑_走天涯12 天前
命令模式-Command Pattern
命令模式
ThetaarSofVenice12 天前
开关不一定是开关灯用 - 命令模式(Command Pattern)
java·设计模式·命令模式