摘要:【Java代碼】classLight{//電燈類publicvoidturnLight(intdegree){//調(diào)整燈光亮度,0表示關(guān)燈,100表示亮度最大}};classTV{//電視機類publicvoidsetChannel(intchannel){//0表示關(guān)機,1表示開機并切換到1頻道}};interfaceCommand{//抽象命令類voidon();voidoff();};cl
【Java 代碼】
class Light{ //電燈類
public void turnLight(int degree){ //調(diào)整燈光亮度,0表示關(guān)燈,100表示亮度最大}
};
class TV{ //電視機類
public void setChannel(int channel){// 0表示關(guān)機,1表示開機并切換到1頻道 }
};
interface Command{ //抽象命令類
void on();
void off();
};
class RemoteController{ //遙控器類
protected Command []commands = new Command[4];
//遙控器有4個按鈕,按照編號分別對應(yīng)4個Command對象
public void onPressButton(int button){
//按鈕被按下時執(zhí)行命令對象中的命令
if(button % 2 == 0)commands[button].on();
else commands[button].off();
}
public void setCommand(int button, Command command){
(1) = command; //設(shè)置每個按鈕對應(yīng)的命令對象
}
};
class LightCommand implements Command{ //電燈命令類
protected Light light; //指向要控制的電燈對象
public void on(){light.turnLight(100);};
public void off(){light. (2);};
public LightCommand(Light light){this.light = light;};
};
class TVCommand implements Command{ //電視機命令類
protected TV tv; //指向要控制的電視機對象
public void on(){tv. (3);};
public void off(){tv.setChannel(0);};
public TVCommand(TV tv){this.tv = tv;};
};
軟考備考資料免費領(lǐng)取
去領(lǐng)取