python什么是工厂模式?如何实现?
时间: 2024-05-15 21:12:15 浏览: 60
python 实现 工厂模式
工厂模式(Factory Pattern)是一种常用的创建型设计模式,它定义了一个用于创建对象的接口,让子类决定将哪一个类实例化。这种模式使得一个类的实例化延迟到其子类。
在Python中,我们可以通过定义一个工厂类来实现工厂模式。具体实现方法如下:
```python
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "汪汪汪"
class Cat(Animal):
def speak(self):
return "喵喵喵"
class AnimalFactory:
def create_animal(self, animal_type):
if animal_type == "Dog":
return Dog("小狗")
elif animal_type == "Cat":
return Cat("小猫")
else:
raise ValueError("不支持的动物类型")
# 使用工厂类创建实例
factory = AnimalFactory()
dog = factory.create_animal("Dog")
cat = factory.create_animal("Cat")
print(dog.name, "说", dog.speak())
print(cat.name, "说", cat.speak())
```
上述代码中,我们定义了一个`Animal`基类和两个子类`Dog`和`Cat`,并且定义了一个`AnimalFactory`工厂类,用于创建动物实例。该工厂类的`create_animal`方法接收一个参数`animal_type`,根据不同的动物类型返回不同的动物实例。最后,我们使用工厂类创建了一个`Dog`实例和一个`Cat`实例,并且输出它们的名称和声音。
阅读全文