式_模_令_命

本文通过Java编程实现了一个简单的军官指挥士兵执行任务的场景,包括跑步和唱歌两种命令,展示了命令模式在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
* 执行的接口
*/
public abstract class Command
{
/**
* 执行的方法
*/
public abstract void extecute();
}
/**
* 军官
*/
public class Officer
{
private Command[] command;
/**
* 构造函数
* @param command
*/
public Officer(Command[] command)
{
this.command = command;
}
/**
* 命令的方法
*/
public void order()
{
if (command != null)
{
for (Command comm : command)
{
comm.extecute();
}
}
}
}
/**
* 士兵
*/
public class Soldier
{
/**
* 跑步
*/
public void getRun()
{
System.out.println("士兵跑步..."); //$NON-NLS-1$
}
/**
* 唱歌
*/
public void getSing()
{
System.out.println("士兵唱歌..."); //$NON-NLS-1$
}
}
/**
* 跑步的命令
*/
public class RunCommand extends Command
{
private Soldier soldier;

/**
* 构造函数
* @param soldier
*/
public RunCommand(Soldier soldier)
{
this.soldier = soldier;
}

/** (此注释不是Javadoc注释)
* @see com.huawei.xbliuc.command.Command#extecute()
*/
@Override
public void extecute()
{
soldier.getRun();
}
}
/**
* 唱歌的命令
*/
public class SingCommand extends Command
{
private Soldier soldier;

/**
* 构造函数
* @param soldier
*/
public SingCommand(Soldier soldier)
{
this.soldier = soldier;
}

/**
* 执行的方法
*/
@Override
public void extecute()
{
soldier.getSing();
}
}

public static void main(String[] args)
{
Soldier soldier = new Soldier();
Command command = new RunCommand(soldier);
Command command2 = new SingCommand(soldier);

// 不同的长官给同一个士兵发送不同的命令
Officer officer = new Officer(new Command[] {command, command2});
officer.order();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值