阅读量:0
在Java中使用策略模式,首先需要定义一个接口,该接口表示一个策略的抽象。接着,针对不同的具体策略,实现该接口的多个实现类。最后,在使用策略的地方,通过传递不同的具体策略对象来实现不同的行为。
以下是一个简单的示例:
首先,定义一个策略接口:
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"); } }
最后,在使用策略的地方,通过传递不同的具体策略对象来实现不同的行为:
public class Context { private Strategy strategy; public void setStrategy(Strategy strategy) { this.strategy = strategy; } public void executeStrategy() { strategy.execute(); } } public class Main { public static void main(String[] args) { Context context = new Context(); // 设置策略A并执行 context.setStrategy(new StrategyA()); context.executeStrategy(); // 输出:执行策略A // 设置策略B并执行 context.setStrategy(new StrategyB()); context.executeStrategy(); // 输出:执行策略B // 设置策略C并执行 context.setStrategy(new StrategyC()); context.executeStrategy(); // 输出:执行策略C } }
通过上述示例,可以看到策略模式的使用方式。通过定义接口和多个实现类,可以实现不同的行为,并通过具体策略对象的传递来使用不同的策略。