java 策略模式
时间: 2023-11-21 22:56:31 浏览: 93
java中的策略模式
策略模式是一种行为设计模式,它允许在运行时选择算法的行为。在策略模式中,我们创建表示各种策略的对象和一个上下文对象,该对象可以根据其策略对象的不同行为而更改其执行算法。
以下是Java中策略模式的示例代码:
首先,我们定义一个策略接口,该接口定义了一个方法calculate(),该方法将由具体策略类实现:
```java
public interface Strategy {
public int calculate(int num1, int num2);
}
```
然后,我们实现两个具体策略类,它们实现了策略接口并提供了自己的实现:
```java
public class AddStrategy implements Strategy {
public int calculate(int num1, int num2) {
return num1 + num2;
}
}
public class SubtractStrategy implements Strategy {
public int calculate(int num1, int num2) {
return num1 - num2;
}
}
```
接下来,我们定义一个上下文类,该类将使用策略接口来执行算法:
```java
public class Context {
private Strategy strategy;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public int executeStrategy(int num1, int num2) {
return strategy.calculate(num1, num2);
}
}
```
最后,我们可以在客户端代码中使用上下文对象来执行算法:
```java
public class Client {
public static void main(String[] args) {
Context context = new Context(new AddStrategy());
System.out.println("10 + 5 = " + context.executeStrategy(10, 5));
context = new Context(new SubtractStrategy());
System.out.println("10 - 5 = " + context.executeStrategy(10, 5));
}
}
```
输出结果为:
```
10 + 5 = 15
10 - 5 = 5
```
阅读全文