代码实现
时间: 2024-02-24 09:58:21 浏览: 33
好的,我来举一个策略模式的代码实现例子。假设我们要实现一个简单的排序算法,我们可以使用策略模式来实现不同的排序算法。
首先,我们定义一个排序策略接口,包含一个sort方法:
```java
public interface SortStrategy {
public void sort(int[] arr);
}
```
然后,我们实现两个具体的排序算法类,分别是冒泡排序和快速排序:
```java
public class BubbleSort implements SortStrategy {
public void sort(int[] arr) {
// 冒泡排序算法实现
}
}
public class QuickSort implements SortStrategy {
public void sort(int[] arr) {
// 快速排序算法实现
}
}
```
最后,我们定义一个排序上下文类,包含一个成员变量和一个排序方法:
```java
public class SortContext {
private SortStrategy sortStrategy;
public SortContext(SortStrategy sortStrategy) {
this.sortStrategy = sortStrategy;
}
public void sort(int[] arr) {
this.sortStrategy.sort(arr);
}
}
```
现在,我们就可以使用排序上下文类来进行排序,根据不同的需求选择不同的排序算法:
```java
int[] arr = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
SortContext context = new SortContext(new BubbleSort());
context.sort(arr);
context = new SortContext(new QuickSort());
context.sort(arr);
```
以上就是一个简单的策略模式的代码实现。通过使用策略模式,我们可以很方便地根据不同的需求选择不同的算法,并且可以方便地扩展新的排序算法。
阅读全文