Skip to main content

คลาสนามธรรมคืออะไร?

ในการเขียนโปรแกรมเชิงวัตถุคลาสนามธรรมให้คลาสพื้นฐานที่สามารถใช้เพื่อให้คลาสอื่น ๆ ที่มีการใช้งานและอินเทอร์เฟซบางส่วนพวกเขาไม่สมบูรณ์ด้วยตัวเองและใช้ในสถานการณ์การสืบทอดในภาษาการเขียนโปรแกรมหลายภาษาเช่น Java, C ++ และ C#การใช้งานของพวกเขาในฐานะคลาสพื้นฐานหมายความว่าพวกเขามักจะเรียกว่าคลาสฐานนามธรรม (ABC)

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

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

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

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

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

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