策略模式写法
策略模式是一种行为设计模式,它定义了一组算法,将它们分别封装到相应的策略类中,使得它们在运行时可以相互替换。以下是策略模式的一个示例实现:
python
class SortStrategy:
def sort(self, data): # 定义了一个sort方法,子类需要实现它
pass
class BubbleSort(SortStrategy):
def sort(self, data):
# 实现冒泡排序算法
print("Using bubble sort")
return data
class QuickSort(SortStrategy):
def sort(self, data):
# 实现快速排序算法
快速排序python实现 print("Using quick sort")
return data
class SortedList:
def __init__(self, strategy):
self.strategy = strategy # 接收一个排序策略
def sort(self, data):
return self.strategy.sort(data) # 调用排序策略的sort方法
# 测试代码
data = [5, 2, 4, 6, 1, 3]
sorted_list = SortedList(BubbleSort())
print(sorted_list.sort(data))
sorted_list = SortedList(QuickSort())
print(sorted_list.sort(data))
这个示例实现了一个排序策略模式。它定义了一个`SortStrategy`基类,它有一个`sort`方法,所有具体的排序策略都需要实现这个方法。`BubbleSort`和`QuickSort`都继承自`SortStrategy`,并实现了它们自己的排序算法。`SortedList`类接收一个排序策略,并在调用`sort`方法时调用它的具体排序算法。在测试代码中,我们示范了不同的排序策略运行的方式。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论