10.30
实验 23:策略模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解策略模式的动机,掌握该模式的结构;
2、能够利用策略模式解决实际问题。
[实验任务一]:旅行方式的选择
旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。
实验要求:
1. 画出对应的类图;
2. 提交源代码
from abc import ABC, abstractmethod
# 抽象旅行方式类
class TravelMode(ABC):
@abstractmethod
def travel(self):
pass
# 飞机旅行类
class AirplaneTravel(TravelMode):
def travel(self):
print("乘坐飞机旅行,享受快速便捷的旅程,正在起飞...")
# 火车旅行类
class TrainTravel(TravelMode):
def travel(self):
print("乘火车旅行,沿途欣赏风景,火车正在缓缓启动...")
# 自行车旅行类
class BicycleTravel(TravelMode):
def travel(self):
print("自行车游,自由自在地穿梭在大街小巷,出发啦...")
# 旅行客户类
class TravelClient:
def __init__(self, travel_mode):
self.travel_mode = travel_mode
def start_travel(self):
self.travel_mode.travel()
if __name__ == "__main__":
# 客户选择飞机旅行
client1 = TravelClient(AirplaneTravel())
client1.start_travel()
# 客户选择火车旅行
client2 = TravelClient(TrainTravel())
client2.start_travel()
# 客户选择自行车旅行
client3 = TravelClient(BicycleTravel())
client3.start_travel()
3. 注意编程规范。
浙公网安备 33010602011771号