Java中的策略模式应该如何实现
时间: 2024-04-30 11:18:01 浏览: 6
在Java中,策略模式可以通过以下步骤实现:
1. 定义一个策略接口,该接口应该包含一个执行策略的方法。
2. 实现多个策略类,这些类应该实现策略接口,并提供不同的具体实现。
3. 定义一个上下文类,该类应该持有一个策略对象,并提供一个方法来执行策略。
4. 在需要使用策略的地方,创建一个上下文对象,并设置相应的策略对象。
下面是一个简单的示例:
```
// 定义策略接口
interface Strategy {
void executeStrategy();
}
// 实现具体策略类
class ConcreteStrategyA implements Strategy {
@Override
public void executeStrategy() {
System.out.println("执行策略A");
}
}
class ConcreteStrategyB implements Strategy {
@Override
public void executeStrategy() {
System.out.println("执行策略B");
}
}
// 定义上下文类
class Context {
private Strategy strategy;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public void executeStrategy() {
strategy.executeStrategy();
}
}
// 使用策略模式
public class StrategyPatternDemo {
public static void main(String[] args) {
Context context = new Context(new ConcreteStrategyA());
context.executeStrategy();
context = new Context(new ConcreteStrategyB());
context.executeStrategy();
}
}
```
在上面的示例中,我们定义了一个策略接口 `Strategy`,并实现了两个具体的策略类 `ConcreteStrategyA` 和 `ConcreteStrategyB`。然后我们定义了一个上下文类 `Context`,该类持有一个策略对象,并提供一个方法 `executeStrategy()` 来执行策略。最后在主函数中,我们创建了两个上下文对象,并分别设置了不同的策略对象,然后执行了它们的策略。