開始使用免費開始

多型方法

若要有效設計類別,你需要了解繼承與多型如何互相配合。

在這個練習中,你有 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 物件導向程式設計

檢視課程

動手互動練習

將理論付諸實踐,立即體驗我們的互動練習

開始練習