package Command.MyTest; public interface Animal { public void walk(); public void jump(); }
package Command.MyTest; public class Dog implements Animal { @Override public void jump() { System.out.println("小狗在跳"); } @Override public void walk() { System.out.println("小狗在走"); } }
package Command.MyTest; public class Fish implements Animal { @Override public void jump() { System.out.println("鱼跳出水面"); } @Override public void walk() { System.out.println("鱼在水中游"); } }
package Command.MyTest; public interface Command { public void execute(); }
package Command.MyTest; public class WalkCommand implements Command { Animal al; public WalkCommand(Animal al) { this.al=al; } @Override public void execute() { al.walk(); } }
package Command.MyTest; public class JumpCommand implements Command { Animal al; public JumpCommand(Animal al) { this.al=al; } @Override public void execute() { al.jump(); } }
package Command.MyTest; public class ControlCommand{ Command walk; Command jump; public ControlCommand(Command walk,Command jump) { this.walk=walk; this.jump=jump; } public void Walk() { walk.execute(); } public void Jump() { jump.execute(); } }
package Command.MyTest; public class MyTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Command walk=new WalkCommand(new Fish()); Command jump=new JumpCommand(new Dog()); ControlCommand cc=new ControlCommand(walk,jump); cc.Jump(); cc.Walk(); } }