เกี่ยวกับความหลากหลายนั้น polymorphism คือการรวมกันของสองวิธีข้างต้น เราสามารถเขียนโปรแกรมได้หลากหลายผ่าน polymorphism
ดูภาพด้านล่าง:
Polymorphism หมายความว่าเมธอดสามารถใช้ได้หลายวิธีใน คลาสพาเรนต์ และ คลาสย่อย และสามารถเรียกแยกกันได้
ดูตัวอย่างต่อไปนี้:
classBase:def__init__(self,name):self.name=nameprint('%s can read'%self.name)defreading(self):print('%s is reading a Chinese book'%self.name)classInherit_One(ฐาน ): dereading(self):print('%s is reading an English book'%self.name)classInherit_Two(Base):defreading(self):print('%s is reading a comic book'%self.name)a =ฐาน('a ')a.reading()b=Inherit_One('b')b.reading()c=Inherit_Two('c')c.reading()
ผลลัพธ์คือ:
a อ่านได้ a กำลังอ่านหนังสือภาษาจีน b อ่านได้ b กำลังอ่านหนังสือภาษาอังกฤษ c อ่านได้ c กำลังอ่านหนังสือการ์ตูน
จะเห็นได้ว่าผู้รับช่วงแต่ละคนแทนที่วิธีการอ่าน และเมื่อเราเรียกวิธีนี้ เราก็เรียกมันผ่านคลาสที่ต่างกัน วิธีนี้สามารถช่วยให้เรากำหนดวิธีการที่แตกต่างกันด้วยชื่อเดียวกันในคลาสที่แตกต่างกัน ซึ่งดูน่าสับสน ระบบการจัดการต่างๆ ในความเป็นจริงของเรามักจะแยกออกจากการใช้ความหลากหลายไม่ได้
หลังจากศึกษาส่วนเหล่านี้แล้ว ทุกคนจะต้องตระหนักถึงวิธีการสืบทอดและการเขียนใหม่ คุณจำเป็นต้องฝึกฝนและเชี่ยวชาญในปัญหาเชิงปฏิบัติ ฟังดูเป็นนามธรรมมากขึ้น แต่ก็ไม่ยากเกินไปที่จะเชี่ยวชาญ