写一个java实现的策略模式demo
时间: 2023-08-04 17:05:56 浏览: 41
好的,下面是一个简单的 Java 实现策略模式的示例代码:
首先,我们需要定义一个策略接口,例如:
```java
interface Strategy {
int execute(int a, int b);
}
```
然后,我们可以定义一些具体的策略类,例如:
```java
class AddStrategy implements Strategy {
@Override
public int execute(int a, int b) {
return a + b;
}
}
class SubStrategy implements Strategy {
@Override
public int execute(int a, int b) {
return a - b;
}
}
class MultiplyStrategy implements Strategy {
@Override
public int execute(int a, int b) {
return a * b;
}
}
```
接下来,我们可以定义一个上下文类,用于执行策略。例如:
```java
class Context {
private final Strategy strategy;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public int executeStrategy(int a, int b) {
return strategy.execute(a, b);
}
}
```
最后,我们可以在客户端代码中使用上下文类来执行具体的策略。例如:
```java
public class Client {
public static void main(String[] args) {
Context context = new Context(new AddStrategy());
int result = context.executeStrategy(1, 2);
System.out.println(result); // 输出 3
context = new Context(new SubStrategy());
result = context.executeStrategy(3, 2);
System.out.println(result); // 输出 1
context = new Context(new MultiplyStrategy());
result = context.executeStrategy(2, 3);
System.out.println(result); // 输出 6
}
}
```
这个示例演示了如何使用策略模式来实现根据不同的策略执行不同的行为。