状态接口类
package com.fczfr.pattern.behavior.state.sample1;
public interface State {
// 状态0
public final static int STATUS_0 = 0;
// 状态1
public final static int STATUS_1 = 1;
public void sampleOperation();
public int getStatus();
}
状态0实现类
package com.fczfr.pattern.behavior.state.sample1;
public class State0 implements State {
public void sampleOperation() {
System.out.println("当前状态为状态0");
}
public int getStatus() {
return this.STATUS_0;
}
}
状态1实现类
package com.fczfr.pattern.behavior.state.sample1;
public class State1 implements State {
public void sampleOperation() {
System.out.println("当前状态为状态1");
}
public int getStatus() {
return this.STATUS_1;
}
}
状态工厂类:
package com.fczfr.pattern.behavior.state.sample1;
import java.util.ArrayList;
import java.util.List;
public class StateFactory {
List<State> stateList = null;
public StateFactory(){
stateList = new ArrayList<State>();
stateList.add(new State0());
stateList.add(new State1());
}
public State getState(int status){
for(State state:stateList){
if(state.getStatus()==status){
return state;
}
}
return null;
}
}
最后,编写客户端测试类
package com.fczfr.pattern.behavior.state.sample1;
public class Client {
public static void main(String[] args) {
StateFactory factory = new StateFactory();
factory.getState(State.STATUS_1).sampleOperation();
}
}
运行结果:
当前状态为状态1
该模式,只要传递一个静态的状态,就可以执行该需要状态的执行类。
分享到:
相关推荐
1. If...Then...Else语句: ```vb.net If userInput > 0 Then Console.WriteLine("输入的数字是正数.") Else Console.WriteLine("输入的数字不是正数.") End If ``` 2. If...ElseIf...Else语句: ```vb.net...
在TX-1C学C语言的教程中,`if...else`语句是初学者必须掌握的基础知识。 `if`语句的基本形式如下: ```c if (条件) { // 当条件为真(非零)时执行的代码 } ``` 这里的“条件”通常是一个表达式,其结果可以是`...
51单片机-C语言for语句do...while语句if...else...语句产生随机数rand()常用基本语句例程源码 do...while语句 for语句 if...else...语句 switch-case-break语句 while与do...while区别 while语句 不同类型数据的差异...
在编程世界里,`if...else`语句是条件判断的基础,它允许程序根据特定条件执行不同的代码块。在这个特殊的“if...else...恋爱代码”中,我们可以将它看作是对现实生活中情感关系的一种趣味性模拟。这个描述实际上是...
C语言中分支结构:if语句、if-else语句和switch语句的使用方法 C语言中分支结构是一种非常基本但非常重要的编程结构,它允许程序根据条件执行不同的代码块。在C语言中,分支结构有三种基本类型:if语句、if-else...
本文主要讲解了JavaScript中的四种主要条件语句:if语句、if...else语句、if...else if...else语句以及switch语句。 1. **if语句**: if语句用于检查一个条件,如果条件为真(true),则执行特定的代码块。基本...
本文将深入探讨 `if`、`else` 以及 `if...else` 结构在 C 和 C++ 中的应用,以及它们如何帮助程序员实现复杂的决策流程。 首先,`if` 语句是基于一个布尔表达式的检查。如果这个表达式的结果为真(非零),则执行 `...
标题中的"if.when.else.zip_If..._stems3hq_vhdl_数码管 使能端_数码管使能端"暗示了我们正在处理一个基于条件语句(if...when...else)的VHDL设计,用于控制数码管的显示。"stems3hq"可能是某种项目或技术的特定...
1. **选项(Options)**:`JDK_VERSION`设置为"1.5"表示该解析器兼容Java 1.5及以上版本,而`DEBUG_PARSER`设置为`true`意味着在运行时将启用调试模式。 2. **PARSER_BEGIN/END**:定义解析器的开始和结束。`...
end else if (pri_in[1]) begin pri_out = 3'b001; // A1 is highest priority end else if (pri_in[0]) begin pri_out = 3'b000; // A0 is highest priority end else begin pri_out = 3'bxxxx; // No input ...
本文将详细解析这个程序的设计思路、关键结构以及if...else语句在游戏逻辑中的应用。 首先,我们来看C语言在游戏开发中的运用。C语言作为一种基础且高效的编程语言,是许多游戏开发者的首选。它的语法简洁,运行...
c
单片机资料c源码if.else.语句单片机资料c源码if.else.语句提取方式是百度网盘分享地址
在实际开发过程中,`IF...ELSE`语句的应用非常广泛,例如: - **用户权限管理**: 根据用户角色的不同,显示不同的界面元素。 - **数据验证**: 检查输入的数据是否符合预期格式或范围。 - **流程控制**: 根据用户的...
在实际开发中,`v-if`和`v-else-if`广泛应用于各种场景,如条件性加载组件、用户权限判断、数据状态展示等。它们是构建响应式UI的利器,使得代码更加简洁和易于维护。 ### 示例 在提供的`v-if.html`文件中,可能...
在编程领域,`if` 和 `if...else` 结构是条件控制的基础,它们允许程序根据不同的条件执行不同的代码块。而 `if` 的嵌套则是在这些基础之上的一种更复杂的逻辑控制方式,用于处理多层条件判断。下面将详细阐述 `if` ...
- **避免过多的if嵌套**:过多的嵌套可能导致代码难以阅读和理解,可以尝试重构代码,使用策略模式或函数组合来简化逻辑。 - **使用开关(switch)**:当有多个条件分支时,`switch` 语句通常比多个 `if...else if...
### 三元运算符的玩法 if else if 在编程领域,条件语句是实现程序逻辑控制的重要手段之一。其中,“if...else...”结构是最基本的条件分支结构,而三元运算符则提供了一种更为简洁的方式来表达类似的逻辑判断。...
1. 定义词法规则:定义`if`和`else`的关键字,以及其他相关元素(如括号、分号等)的词法规则。 2. 创建状态机:设计一组状态来跟踪当前解析的位置,以及期望遇到的下一个词法单元。 3. 读取输入:逐字符读取源代码...