6-3 Animal动物工厂 分数 20 作者 sy 单位 西南石油大学 已知有如下Animal抽象类,请编写其子类Dog类与Cat类,另外再编写一个生产动物的Factory工厂类,具体要求如下。
时间: 2024-03-25 08:36:38 浏览: 168
好的,根据您提供的信息,我可以为您提供相应的代码实现。请注意以下代码仅供参考:
```python
# Animal抽象类
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def make_sound(self):
pass
# Dog类
class Dog(Animal):
def make_sound(self):
print("汪汪汪!")
# Cat类
class Cat(Animal):
def make_sound(self):
print("喵喵喵!")
# Factory工厂类
class Factory:
@staticmethod
def produce_animal(animal_type):
if animal_type == "dog":
return Dog()
elif animal_type == "cat":
return Cat()
else:
print("不支持生产此种动物!")
# 测试代码
if __name__ == '__main__':
dog = Factory.produce_animal("dog")
dog.make_sound()
cat = Factory.produce_animal("cat")
cat.make_sound()
```
以上代码实现了Animal抽象类及其两个子类Dog和Cat,以及一个生产动物的Factory工厂类。通过调用Factory.produce_animal方法并传入相应的参数即可生产出对应的动物实例,并通过调用其make_sound方法发出相应的声音。
阅读全文