⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simpleremotecontroltest.java

📁 几个设计模式的java源码实例
💻 JAVA
字号:
/*
 * 实现一个遥控器功能,遥控器能控制一些电器的开关,要求将发出命令的对象和接受执行这些命令的对象解耦
 * 
 * 电器类:			--开关等产商自己设计的功能,提供函数接口,不需要关心它的具体实现
 * on()		
 * off()
 * ...
 * 
 * 命令对象:			--实现如同餐馆的菜单将服务员和厨师联系起来的功能,将电器和遥控器连接起来
 * execute()		--通用函数接口,调用相应的函数
 * 
 * 遥控器类:			
 * setCommand()		--设置命令,让按键对应相应的功能
 * buttonPressed()	--执行开关命令
 * */

/*
class Light{
	public Light(){}
	void lightOn(){
		System.out.println("开灯");
	}
	void lightOff(){
		System.out.println("关灯");
	}
}

//通用命令接口
interface Command{
	public void execute();
}
//具体命令对象
class LightOnCommand implements Command{
	Light light;
	LightOnCommand(Light l){
		this.light = l;
	}
	public void execute(){
		light.lightOn();
	}
}

class LightOffCommand implements Command{
	Light light;
	LightOffCommand(Light l){
		this.light = l;
	}
	public void execute(){
		light.lightOff();
	}
}

//遥控器类
class SimpleRemoteControl{
	Command slot;
	public SimpleRemoteControl(){}
	public void setCommand(Command command){
		slot = command;
	}
	public void buttonPressed(){
		slot.execute();
	}
}

public class SimpleRemoteControlTest {
	public static void main(String[] args){
		SimpleRemoteControl srControl = new SimpleRemoteControl();
		
		Light light = new Light();
		LightOnCommand lightOn = new LightOnCommand(light);
		srControl.setCommand(lightOn);
		srControl.buttonPressed();
		
		LightOffCommand lightOff = new LightOffCommand(light);
		srControl.setCommand(lightOff);
		srControl.buttonPressed();
	}
}

*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -