เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Method แบบ Polymorphic

เพื่อออกแบบคลาสได้อย่างมีประสิทธิภาพ ต้องเข้าใจว่า inheritance และ polymorphism ทำงานร่วมกันอย่างไร

ในแบบฝึกหัดนี้ มีคลาสสามคลาส ได้แก่ คลาสแม่หนึ่งคลาสและคลาสลูกสองคลาส โดยแต่ละคลาสมี method 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!      

      

ควรตอบได้จากการอ่านโค้ดเพียงอย่างเดียว โดยไม่ต้องรันใน console!

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การเขียนโปรแกรมเชิงวัตถุใน Python

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง

เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา

เริ่มแบบฝึกหัด