使用工厂模式来创建实例类
工厂模式是一种用于创建对象的设计模式,可以根据特定的规则生成实例类。其实现方式可以是简单工厂模式、工厂方法模式、抽象工厂模式等。
以下是一个简单工厂模式的示例代码,用于根据输入的参数来生成相应的实例类:
class Animal:
def speak(self):
pass
class Cat(Animal):
def speak(self):
return "Meow"
class Dog(Animal):
def speak(self):
return "Woof"
class AnimalFactory:
def create_animal(self, animal_type):
if animal_type == "cat":
return Cat()
elif animal_type == "dog":
return Dog()
else:
return None
上述代码中,Animal 是一个抽象类,Cat 和 Dog 是它的子类,通过实现 speak 方法来实现各自的叫声。AnimalFactory 是一个工厂类,通过传入不同的 animal_type 参数,来创建不同的实例类。
示例用法:
factory = AnimalFactory()
cat = factory.create_animal("cat")
print(cat.speak()) # 输出 Meow
dog = factory.create_animal("dog")
print(dog.speak()) # 输出 Woof