ฟังก์ชั่น Pure Pure คืออะไร?

เกือบทุกประเภทของการเขียนโปรแกรมเชิงวัตถุ (OOP) ซึ่งสร้างโปรแกรมและแยกส่วนของรหัสออกเป็น "วัตถุ" มีฟังก์ชั่นที่เรียกว่าฟังก์ชั่นเสมือนจริงซึ่งแตกต่างจากฟังก์ชั่นเสมือน เรียกอีกอย่างว่าฟังก์ชั่นที่เป็นนามธรรมฟังก์ชั่นเสมือนที่บริสุทธิ์ทำหน้าที่เป็นตัวยึดสำหรับตัวแปรอื่น ๆ และใช้ข้อมูลจากฟังก์ชั่นและชั้นเรียนอื่น ๆ เพื่อเติมลงในช่องว่าง ข้อได้เปรียบของการใช้ฟังก์ชั่นเสมือนจริงล้วนๆคือข้อมูลมีความอ่อนตัวและสามารถเปลี่ยนแปลงได้ตามผู้ใช้แต่ละคน ในการทำงานจะต้องมีคลาสที่ได้รับจากการรับข้อมูล

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

ในทางตรงกันข้ามฟังก์ชั่นเสมือนล้วนๆไม่มีส่วนใด ๆ ซึ่งหมายความว่าฟังก์ชั่นนามธรรมนั้นไม่มีประโยชน์ มันไม่มีข้อมูลของตัวเองและหากเรียกใช้คลาสนามธรรมโดยไม่มีข้อมูลใด ๆ ก็อาจส่งผลให้เกิดข้อผิดพลาดได้ ฟังก์ชัน virtual pure ต้องมีคลาสที่ได้รับมาหรือคลาสที่รวบรวมข้อมูลสำหรับฟังก์ชัน abstract เพื่อทำงาน

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

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