มรดก

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