5.3 ตัวอย่างการใช้งาน Polymorphism ในโปรแกรม
5.3 ตัวอย่างการใช้งาน Polymorphism ในโปรแกรม
Polymorphism มีประโยชน์มากในการเขียนโปรแกรมที่ต้องจัดการกับหลายคลาสที่มีโครงสร้างหรือพฤติกรรมคล้ายกัน โดยสามารถใช้เมธอดเดียวกันในการเรียกใช้งานได้อย่างยืดหยุ่นโดยไม่ต้องกังวลว่าเป็นคลาสใด
ตัวอย่างเช่น:
class Animal:
def sound(self):
raise NotImplementedError("Subclass must implement abstract method")
class Dog(Animal):
def sound(self):
return "Woof!"
class Cat(Animal):
def sound(self):
return "Meow!"
class Cow(Animal):
def sound(self):
return "Moo!"
# ฟังก์ชันที่สามารถรับวัตถุของ Animal ได้ทุกรูปแบบ
def animal_sound(animal):
print(animal.sound())
# ใช้งาน Polymorphism กับวัตถุของคลาสต่าง ๆ
animals = [Dog(), Cat(), Cow()]
for animal in animals:
animal_sound(animal)
ในตัวอย่างนี้ ฟังก์ชัน animal_sound() สามารถรับวัตถุของคลาส Animal ได้ทุกรูปแบบ (ไม่ว่าจะเป็น Dog, Cat, หรือ Cow) และเรียกใช้เมธอด sound() ของแต่ละวัตถุ ซึ่งแสดงให้เห็นถึงความยืดหยุ่นของ Polymorphism