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. |
|
|
| 3. | 4. |
|
|
ควรตอบได้จากการอ่านโค้ดเพียงอย่างเดียว โดยไม่ต้องรันใน console!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนโปรแกรมเชิงวัตถุใน Python
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด