使用多态的方式调用对象成员方法。 依次输出猫吃的东西、猫做的事情、狗吃的东西、狗做的事情
时间: 2024-03-16 14:41:06 浏览: 7
好的,这是一个面向对象的问题,需要定义猫和狗的类,实现它们的方法,并使用多态的方式进行调用。以下是一个示例代码:
```python
class Animal:
def eat(self):
pass
def do_something(self):
pass
class Cat(Animal):
def eat(self):
print("猫吃鱼")
def do_something(self):
print("猫睡觉")
class Dog(Animal):
def eat(self):
print("狗吃肉")
def do_something(self):
print("狗玩球")
def main():
cat = Cat()
dog = Dog()
animals = [cat, dog]
for animal in animals:
animal.eat()
animal.do_something()
if __name__ == '__main__':
main()
```
输出结果:
```
猫吃鱼
猫睡觉
狗吃肉
狗玩球
```
在main函数中,我们先实例化了一个猫和一个狗,然后将它们放在一个列表中。接着,我们用for循环遍历这个列表,对于每个动物,我们都使用多态的方式调用它们的eat和do_something方法。这样就能够输出猫吃的东西、猫做的事情、狗吃的东西、狗做的事情了。