Bắt đầu ngayBắt đầu miễn phí

Phương thức đa hình

Để thiết kế lớp hiệu quả, bạn cần hiểu cách kế thừa và đa hình phối hợp với nhau.

Trong bài này, bạn có ba lớp — một lớp cha và hai lớp con — mỗi lớp đều có phương thức talk(). Hãy phân tích đoạn mã sau:

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()

Đầu ra của đoạn mã trên là gì?

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!      

      

Bạn có thể hoàn thành bài tập chỉ bằng cách đọc mã, không cần chạy trên console!

Bài tập này là một phần của khóa học

Lập trình hướng đối tượng trong Python

Xem khóa học

Bài tập tương tác thực hành

Biến lý thuyết thành hành động với một trong các bài tập tương tác của chúng tôi

Bắt đầu bài tập