ข้ามไปเนื้อหา

ดักไทปปิง

จากวิกิพีเดีย สารานุกรมเสรี

ดักไทปปิง (อังกฤษ: Duck typing) เป็นวิธีกำหนดชนิดของวัตถุในภาษาเชิงวัตถุ ดักไทปปิงเป็นกฎสูงสุดในการกำหนดชนิดของไทปปิง ไทปปิงทำหน้าที่กำหนดชนิดของตัวแปร รวมไปถึงชนิดของวัตถุ และเมธอดการตั้งค่าต่าง ๆ ด้วย ชื่อของดักไทปปิงได้มาจากข้อความของ เจมส์ วิธคอม ไลลี่ย์ นักประพันธ์ชาวสหรัฐอเมริกา ที่กล่าวว่า

"เมื่อผมเห็นนกตัวหนึ่ง เดินเหมือนเป็ด ว่ายน้ำเหมือนเป็ด และร้องเหมือนเป็ด ผมจึงเรียกนกตัวนั้นว่าเป็ด"

ในทางโปรแกรมเมื่อเราส่งผ่านค่าไปยังฟังก์ชัน เพื่อเรียกใช้งานวัตถุ ในภาษาที่ไม่ใช้ ดักไทป ผลคือเราต้องเรียกหาวัตถุที่ชื่อว่า เป็ด เท่านั้น แต่ในโปรแกรมประเภทดักไทป เราสามารถส่งค่าเหล่านั้นไปได้โดยสะดวก เพราะถ้าวัตถุนั้นมีเมธอทเดินแบบเป็ด เมธอทว่ายน้ำแบบเป็ด เมธอทร้องแบบเดียวกับเป็ด ถือว่าวัตถุนั้นเสมือนว่า ชื่อเป็ดได้เช่นกันตัวอย่าง

function calculate(a, b, c) => return (a + b)*c
 
example1 = calculate (1, 2, 3)
example2 = calculate ([1, 2, 3], [4, 5, 6], 2) 
example3 = calculate ('apples ', 'and oranges, ', 3)

print to_string example1
print to_string example2
print to_string example3

จะเห็นว่าเราส่งตัวแปรเข้า ฟังก์ชัน calculate โดยไม่ได้คำนึงถึงชนิดของข้อมูลเลย ค่าของตัวแปรในลิสต์เดียวกันก็มีความหลายหลายมาก ในตัวแปรลิสต์เดียวกันมีทั้งตัวแปรที่เป็นเลขจำนวนเต็ม ตัวหนังสือ ลิสต์ของลิสต์ เป็นต้น

รายชื่อโปรแกรมภาษาดักไทปปิง

[แก้]