开始使用免费开始使用

多态方法

要想高效设计类,您需要理解继承与多态如何协同工作。

在本练习中,有 3 个类——1 个父类和 2 个子类——它们都实现了 talk() 方法。请分析下面的代码:

class Parent:
    def talk(self):
        print("Parent talking!")     

class Child(Parent):
    def talk(self):
        print("Child talking!")          

class TalkativeChild(Parent):
    def talk(self):
        print("TalkativeChild talking!")
        Parent.talk(self)


p, c, tc = Parent(), Child(), TalkativeChild()

for obj in (p, c, tc):
    obj.talk()

上面这段代码的输出是什么?

1. 2.

Parent talking!
Parent talking!
Parent talking!      

      

Parent talking!
Child talking!
Talkative Child talking!     
      
      
3. 4.

Parent talking!
Child talking!
Parent talking! 
Talkative Child talking!
Parent talking!      
      
      

Parent talking!
Child talking!
Talkative Child talking!
Parent talking!      

      

仅通过阅读代码,您就应该能完成本题,无需在控制台运行!

本练习是课程的一部分

Python 面向对象编程

查看课程

动手互动练习

通过我们的互动练习之一,将理论转化为实践

开始练习