Skip to main content

วิธีนามธรรมคืออะไร?

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

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

super classes อาจมีคลาสย่อยหลายคลาสและคลาสย่อยทั้งหมดของคลาสซุปเปอร์มีสถานะและพฤติกรรมที่คล้ายคลึงกันดังนั้นคลาสนามธรรมจึงเป็นประเภทของคลาสเสมือนจริงที่แสดงการสืบทอดเสมือนจริงซึ่งหมายความว่าคลาสย่อยใด ๆ ที่ได้มาจากคลาส Super ได้สืบทอดข้อ จำกัด ของคลาส Super ที่ได้มาดังนั้นวิธีการในคลาสย่อยจะได้มาจากวิธีนามธรรมของคลาสซุปเปอร์เมื่อการเขียนโปรแกรมและการใช้วิธีนามธรรมโปรแกรมเมอร์จะต้องประกาศคลาสนามธรรมมากกว่าเสมือนจริง

ตัวอย่างเช่น "วัตถุกราฟิก" ชั้นสุดยอดมีคลาสย่อย "วงกลม" "สแควร์" ฯลฯ เช่นวงกลมทั้งหมดและทุกวงกลมทั้งหมดและสี่เหลี่ยมมีสถานะเดียวกัน mdash;การปฐมนิเทศ, ตำแหน่ง, เติมสี, สีเส้น mdash;และพฤติกรรม mdash;Moveto, ปรับขนาด, หมุน, วาด mdash;เป็น“ วัตถุกราฟิก”คลาสย่อยทั้งหมดในคลาส Super นี้มีคุณสมบัติเหมือนกัน แต่พวกเขาจะถูกนำไปใช้ในรูปแบบที่แตกต่างกันวิธีการนามธรรมของคลาส Super ให้พื้นฐานโดยไม่ต้องใช้งานและคลาสย่อยจะดำเนินการตามจริงโดยใช้วิธีการเดียวกันแม้ว่าแต่ละคลาสย่อยจะใช้วิธีเดียวกับคลาสนามธรรม แต่พวกเขาจะกำหนดวิธีการที่จะดำเนินการโดยไม่ซ้ำกัน

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