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. 注意编程规范。

 

 

posted @ 2024-11-27 08:22  The-rich  阅读(11)  评论(0)    收藏  举报