题目
介绍下状态模式
答案
状态模式(State Pattern)允许对象在内部状态改变时改变它的行为。**状态模式将状态的行为抽象为不同类,实现状态的切换**。 适用场景: - 对象行为依赖状态,状态经常改变。 - 用 if-else 处理状态逻辑变得混乱时。 Java 示例:电梯状态切换 ```java // 状态接口 interface State { void handle(); } // 具体状态 class OpenState implements State { public void handle() { System.out.println("Elevator is open."); } } class CloseState implements State { public void handle() { System.out.println("Elevator is closed."); } } // 上下文 class Elevator { private State state; public void setState(State state) { this.state = state; } public void request() { state.handle(); } } // 测试 public class StateTest { public static void main(String[] args) { Elevator elevator = new Elevator(); elevator.setState(new OpenState()); elevator.request(); elevator.setState(new CloseState()); elevator.request(); } } ```