# 如果有一个选择结构来决定实现不同的类,再面向对象设计里面一般把这个选择做成一个类,叫做工厂模式 # 定义一个ProductFactory类,用于创建不同类型的商品实例(如电子产品、书籍等)。具体的产品由子类实现。 # class Product: def __init__(self, name, price): self.name = name self.price = price class Electronic(Product): def __init__(self, name, price, brand): super().__init__(name, price) self.brand = brand class Book(Product): def __init__(self, name, price, author): super().__init__(name, price) self.author = author class ProductFactory: @staticmethod def create_product(product_type, *args, **kwargs): if product_type == 'electronic': return Electronic(*args, **kwargs) elif product_type == 'book': return Book(*args, **kwargs) else: raise ValueError("Invalid product type") # 使用工厂方法创建产品 product = ProductFactory.create_product('book', 'Python编程艺术', 50.0, 'Mark Lutz')