มรดกเสมือนช่วยแก้ปัญหาเพชรได้อย่างไร?
มรดกเสมือนช่วยแก้ปัญหาเพชรได้อย่างไร?

วีดีโอ: มรดกเสมือนช่วยแก้ปัญหาเพชรได้อย่างไร?

วีดีโอ: มรดกเสมือนช่วยแก้ปัญหาเพชรได้อย่างไร?
วีดีโอ: ตั้งผู้จัดการมรดก ต้องได้รับความยินยอมจากทายาททุกคนไหม ? 2024, อาจ
Anonim

มรดกเสมือนแก้ได้ คลาสสิก ปัญหาเพชร ” จะทำให้แน่ใจว่า childclass ได้รับเพียงอินสแตนซ์เดียวของคลาสพื้นฐานทั่วไป กล่าวอีกนัยหนึ่งคลาสงู จะ มีคลาส LivingThing เพียงอินสแตนซ์เดียวเท่านั้น ชั้นเรียนสัตว์และสัตว์เลื้อยคลานแบ่งปันตัวอย่างนี้

ในเรื่องนี้ปัญหาเพชรในมรดกคืออะไร?

NS ปัญหาเพชร ” เป็นความกำกวมที่เกิดขึ้นจากการยอมให้ทวีคูณ มรดก . เป็นเรื่องร้ายแรง ปัญหา สำหรับภาษา (เช่น C ++) ที่อนุญาตให้มีหลาย มรดก ของรัฐ อย่างไรก็ตาม InJava มีหลายตัว มรดก ไม่อนุญาตสำหรับคลาส สำหรับอินเทอร์เฟซเท่านั้น และสิ่งเหล่านี้ไม่มีสถานะ

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

รู้ยัง มรดกสาธารณะเสมือนคืออะไร?

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

Interface แก้ปัญหาเพชรอย่างไร?

ทำอย่างไร ใช้ an อินเตอร์เฟซ ในชวา แก้ปัญหา NS ปัญหาเพชร ? ดังนั้น ถ้าสอง อินเทอร์เฟซ มีลายเซ็นเมธอดเดียวกันและคลาสต้องการสืบทอด (การใช้งานใน Java) จากสองสิ่งนี้ อินเทอร์เฟซ จึงไม่มี "เนื้อความวิธี" ที่จะสืบทอด ดังนั้น " เพชร มรดก" ปัญหา จะหลีกเลี่ยง