以下是一个简单的Python工厂模式示例:
class Animal:
def __init__(self, name):
self.name = name
def sound(self):
pass
class Dog(Animal):
def sound(self):
return "汪汪汪!"
class Cat(Animal):
def sound(self):
return "喵喵喵!"
class AnimalFactory:
def create_animal(self, animal):
if animal == "dog":
return Dog("小狗")
elif animal == "cat":
return Cat("小猫")
animal_factory = AnimalFactory()
dog = animal_factory.create_animal("dog")
cat = animal_factory.create_animal("cat")
print(dog.sound()) # 输出:汪汪汪!
print(cat.sound()) # 输出:喵喵喵!
在这个例子中,我们定义了一个Animal基类和它的两个子类Dog和Cat,它们都有一个sound()
方法返回各自的叫声。AnimalFactory类是我们的工厂类,它的create_animal()
方法根据传入的参数来创建相应的Animal对象。通过传递不同的参数,我们可以创建不同的动物对象,并调用它们的方法。