基于简单工厂模式的农场系统
时间: 2024-01-16 15:17:36 浏览: 21
基于简单工厂模式的农场系统可以通过以下步骤实现:
1. 创建产品接口或抽象类:定义农场中的产品,例如动物、植物等。这个接口或抽象类将定义产品的共同属性和方法。
2. 创建具体产品类:实现产品接口或抽象类,定义具体的产品类型,例如猪、牛、鸡等动物。
3. 创建工厂类:工厂类负责根据客户端传入的参数创建具体的产品对象。工厂类通常包含一个静态方法,根据不同的参数返回不同的产品对象。
4. 在客户端使用工厂类创建产品对象:客户端通过调用工厂类的静态方法来创建所需的产品对象,而不需要关心具体的产品创建逻辑。
下面是一个基于简单工厂模式的农场系统的示例代码:
```python
# 产品接口
class Animal:
def sound(self):
pass
# 具体产品类
class Pig(Animal):
def sound(self):
print("Pig: oink oink")
class Cow(Animal):
def sound(self):
print("Cow: moo moo")
class Chicken(Animal):
def sound(self):
print("Chicken: cluck cluck")
# 工厂类
class AnimalFactory:
@staticmethod
def create_animal(animal_type):
if animal_type == "pig":
return Pig()
elif animal_type == "cow":
return Cow()
elif animal_type == "chicken":
return Chicken()
else:
raise ValueError("Invalid animal type")
# 客户端代码
animal_type = input("请输入动物类型(pig、cow、chicken):")
animal = AnimalFactory.create_animal(animal_type)
animal.sound()
```
这个农场系统中,我们定义了一个产品接口`Animal`和三个具体产品类`Pig`、`Cow`和`Chicken`,它们都实现了`sound`方法。工厂类`AnimalFactory`中的静态方法`create_animal`根据传入的动物类型参数创建相应的产品对象。在客户端代码中,我们通过调用工厂类的静态方法来创建所需的动物对象,并调用`sound`方法输出相应的声音。