学习-Python面向对象之多继承 本关任务:给定了一个陆生生物类 TerrestrialAnimal,一个水生生物类 AquaticAnimal 。请设计一个青蛙类 Frog 类,该类继承了陆生生物类和水生生物类,并重写 breath 方法。
时间: 2024-08-05 08:00:31 浏览: 30
在Python中,多继承允许一个类从多个父类继承属性和方法。对于你的需求,我们可以创建一个`Frog`类,它同时继承自`TerrestrialAnimal`和`AquaticAnimal`,这样`Frog`就可以拥有这两个类的特性和行为。`breath`方法是关键,我们需要在`Frog`类中重写这个方法,以体现青蛙既能在陆地上呼吸又能适应水环境。
首先,定义`TerrestrialAnimal`和`AquaticAnimal`类:
```python
class TerrestrialAnimal:
def breathe(self):
print("TerrestrialAnimal is breathing on land.")
class AquaticAnimal:
def breathe(self):
print("AquaticAnimal is breathing in water.")
```
然后,我们创建`Frog`类,使用`TerrestrialAnimal`和`AquaticAnimal`作为基类:
```python
class Frog(TerrestrialAnimal, AquaticAnimal):
# 如果breath方法在父类中有冲突,可以明确指定使用哪个版本
def breathe(self):
print("Frog is capable of breathing both on land and in water.")
```
现在,你可以创建`Frog`对象并测试它的`breath`方法:
```python
frog = Frog()
frog.breathe() # 输出: Frog is capable of breathing both on land and in water.
```