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();
}
}