/**
* 执行的接口
*/
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();
}
分享到:
相关推荐
可能使用了Bootstrap或自定义CSS框架来实现响应式设计,确保在不同设备上都能良好显示。JavaScript库如jQuery可能用于处理用户交互和动态更新页面内容,而Ajax技术可能被用来实现实时无刷新的用户体验。 文件列表中...
ASP.NET提供了丰富的控件和模板,使得开发者能够快速构建动态、交互式的Web应用。它支持MVC(Model-View-Controller)架构模式,有助于实现业务逻辑、数据表示和用户界面的分离,提高代码的可读性和可维护性。 后端...
模型、生成式A!“文心一言”,发布会中李彦宏从“文学创作、商业 文案、数理逻辑推算、中文理解和多模态的生成”5个方面展现了文 心一言的优秀能力。 本轮由ChatGPT引发的AI浪潮有望对各行业产生深远影响,我们认为 ...
1. 用户界面(UI):使用XAML(eXtensible Application Markup Language)定义的窗口、控件和布局,这是WPF的主要特性,用于创建美观且响应式的用户界面。 2. 业务逻辑:C#代码实现的类和方法,处理用户操作、数据...
这里的“很命了”可能意味着程序的效率或准确性令人印象深刻,或者是指程序设计简洁,易于理解。 **蒙特卡洛方法**: 1. **基本概念**:蒙特卡洛方法是一种通过随机抽样或统计试验解决问题的数值计算方法。它不依赖...
<s> 命 令 的 层 次 根 据 应 用 程 序 的 不 同 而 不 同 分词的优点是“可能”提高识别率。 由于中文的这一特点,在java中使用sphinx定义语法文件时,需要做额外的工作。 例如定义下面的语法 (我们) (是|不是...
- 按上下模的导向方式,有导柱式、导板式、滑配式等; - 按导料或定位形式,如固定挡料销、浮动挡料销、侧刃定位等。 1. **冲压技术发展方向** 未来,冲压技术将更加注重数字化设计、智能制造和绿色制造,通过CAD...
9. **响应式设计(Responsive Design)**:确保模板在不同设备和屏幕尺寸上都能良好显示和使用。 10. **国际化支持(Internationalization, i18n)**:方便多语言环境的应用。 压缩包内的四个模板可能各有侧重,有...
i fi w 是 式 模 传 透 , 令 指 T A 个 一 是 就 , ) + T A 如 ( 作 操 令 指 T A 用 利 是 般 一 式 模 令 命 装 封 据 数 将 接 直 , 工 加 何 任 过 经 不 他 , 块 模 i fi w 给 据 数 丢 管 不 , 式 模 ...
1. **查看(views)**:LookML文件将定义数据库中的表,通过选择和重命名字段,以及应用过滤和计算,创建定制的数据视图。 2. **度量(metrics)**:新添加的度量可能是针对特定业务需求的,比如“每杯饮料的利润率...
4. **响应式设计**:适应不同设备,确保在手机和平板电脑上也能良好显示。 5. **SEO优化**:有利于搜索引擎抓取,提高店铺的在线可见性。 在使用模板时,商家需要注意以下事项: 1. **兼容性检查**:确保模板与...
6. **命名字段**:在“属性”选项卡中,更改字段的名称,使其具有明确的业务含义。 7. **设置数据源**:在“高级”选项卡内,选择“数据来源”方式,关联所需的物料代码、规格型号、款式/布料等信息。 8. **选择类别...
电解加工,简称ECM,是一种非接触式加工方法,基于电化学原理。在这个过程中,工件作为阳极,工具作为阴极,两者之间填充有电解液。当施加电压时,电流通过电解液在两极间流动,导致工件表面的金属离子溶解,从而...
1. **深化教育考试智能化应用**:认知智能大模型能够理解和生成复杂文本,这对于试题命制和自动评分具有重大意义。例如,它可以生成具有多种难度级别的试题,适应不同层次的学生,并进行智能化评阅,提高评分的准确...
Zen Meta Store和架构动机通常,应用程序可以分为声明性模型(DSL)和命令式解释器(引擎)两部分。 模型可以用数据-数据DSL表示。 为什么? 因为数据很容易组合,所以规则且自省。 clojure生态系统中有很多成功的...
- **Erlang Shell** 是一个交互式的环境,允许开发者直接输入 Erlang 代码并立即看到执行结果。这对于测试小片段代码非常有用。 ##### 3.2 模块与函数 - **模块** 是 Erlang 程序的基本组织单位,通常每个模块包含...
在实际布局过程中,利用div和CSS可以创建复杂的网页结构,如网格系统、响应式设计等。通过div的嵌套,可以构建出多层次的页面布局,同时通过CSS的定位(positioning)和浮动(floating)属性,可以实现元素的相对或...
CSV文件将被加载到Power BI的数据模型中,然后我们可以对其进行清洗和预处理,如去除空值、转换数据类型、重命名字段等,以确保数据质量。 接着,我们将开始构建度量值。度量值是基于数据模型中的列计算得出的值,...
例如,可能规定使用下划线分隔单词,以驼峰式命名字段,用前缀区分不同类型的对象。 ### 逻辑设计 **4.1 实体-关系模型** 逻辑设计通常从ER(实体-关系)模型开始,明确表示数据实体、实体间的关系,以及各实体的...
锂电池均衡模型与均衡原理是电池管理系统(BMS)中的关键组成部分,主要应用于电动汽车、储能系统以及便携式电子设备等领域。锂电池由于其高能量密度、长寿命等优点被广泛使用,但同时也存在一个显著的问题——电池...