package kaiji;
public class Box {
private Command c;
public void setC(Command c) {
this.c = c;
}
public void BUtton()
{c.Execute();
}
}
package kaiji;
public abstract class Command {
protected MainBoard mb;
public Command(MainBoard mb) {
this.mb = mb;
}
public abstract void Execute();
}
package kaiji;
public class OpenCommand extends Command {
public OpenCommand(MainBoard mb) {
super(mb);
}
@Override
public void Execute() {
mb.open();
}
}
package kaiji;
public interface MainBoard {
public void open();
}
package kaiji;
public class Giga implements MainBoard {
@Override
public void open() {
System.out.println("技嘉主板正在开机");
}
}
package kaiji;
public class Msi implements MainBoard {
@Override
public void open() {
System.out.println("微星正在开机");
}
}
package kaiji;
public class Test {
public static void main(String args[])
{MainBoard mb=new Msi();
OpenCommand oc=new OpenCommand(mb);
Box bx=new Box();
bx.setC(oc);
bx.BUtton();
}
}