策略模式优化if-else

class Calculator:
    def __init__(self):
        self.strategy = None

    def set_strategy(self, strategy):
        self.strategy = strategy

    def calculate_result(self, num1, num2):
        return self.strategy.execute(num1, num2)


class Add:
    def execute(self, num1, num2):
        return num1 + num2


class Sub:
    def execute(self, num1, num2):
        return num1 - num2


class Mul:
    def execute(self, num1, num2):
        return num1 * num2


class Div:
    def execute(self, num1, num2):
        return num1 / num2


# 使用示例
calculator = Calculator()
calculator.set_strategy(Add())
print(calculator.calculate_result(6, 3))  # 输出:9
posted @ 2025-10-27 21:02  华小电  阅读(2)  评论(0)    收藏  举报