Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
public interface Command {
public void execute();
}
public class LightOnCommnand implements Command {
Light light;
public LightOnCommand (Light umLight) {
This.light = umLight;
}
public void execute () {
light.on();
}
}
public class GarageDoorOpenCommand implements Command {
GarageDoor garageDoor;
public GarageDoorOpenCommand (GarageDoor umGarageDoor) {
This. garageDoor = umGarageDoor;
}
public void execute () {
garageDoor.open();
}
}
Public class SimpleRemoteControl
Command slot;
Public SimpleRemoteControl() {}
Public void set command(Command command) {
slot = command;
}
Public void buttonWasPressed() {
Slot.execute();
}
}
Public class RemoteControlTest {
Public static void main(String[] args) {
SimpleRemoteControl remote = new SimpleRemoteControl();
Light light = new Light();
LightOnCommand lightOnCommand = new LightOnCommand (light);
GarageDoor garageDoor = new GarageDoor();
GarageDoorOpenCommand = new GarageDoorOpenCommand (garageDoor);
Remote.setCommand(lightOnCommand);
Remote.buttonWasPressed();
Remote.setCommand(garageDoorOpenCommand);
Remote.buttonWasPressed();
Exercicio: implementar os controles do portao de garage para fechar e parar.