java去除if else策略模式
时间: 2023-11-11 18:03:04 浏览: 86
Java中可以使用策略模式来去除if else语句。策略模式是一种行为设计模式,它允许在运行时选择算法的行为。具体实现方式是将每个算法封装到一个类中,然后在运行时根据需要选择相应的算法类。
下面是一个简单的示例代码:
首先定义一个策略接口:
```
public interface Strategy {
void execute();
}
```
然后定义不同的策略实现类:
```
public class StrategyA implements Strategy {
@Override
public void execute() {
System.out.println("执行策略A");
}
}
public class StrategyB implements Strategy {
@Override
public void execute() {
System.out.println("执行策略B");
}
}
public class StrategyC implements Strategy {
@Override
public void execute() {
System.out.println("执行策略C");
}
}
```
最后,在需要使用策略的地方,定义一个Context类来管理策略:
```
public class Context {
private Strategy strategy;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public void executeStrategy() {
strategy.execute();
}
}
```
使用时,只需要创建不同的策略实例,并将其传递给Context即可:
```
Context context = new Context(new StrategyA());
context.executeStrategy();
context = new Context(new StrategyB());
context.executeStrategy();
context = new Context(new StrategyC());
context.executeStrategy();
```
输出结果为:
```
执行策略A
执行策略B
执行策略C
```
阅读全文