Java รองรับการสืบทอดหลายรายการผ่านอินเทอร์เฟซเท่านั้น คลาสสามารถใช้อินเทอร์เฟซจำนวนเท่าใดก็ได้ แต่สามารถขยายได้เพียงคลาสเดียวเท่านั้น ไม่สนับสนุนการสืบทอดหลายรายการ เพราะมันนำไปสู่ปัญหาเพชรมรณะ ปัญหาเพชร "ปัญหาเพชร" (บางครั้งเรียกว่า "เพชรมรณะแห่งความตาย") เป็นความคลุมเครือที่เกิดขึ้นเมื่อสองคลาส B และ C รับมรดกจาก A และคลาส D สืบทอดมาจากทั้ง B และ C … เรียกว่า "ปัญหาเพชร" เนื่องจากรูปร่างของแผนภาพการสืบทอดคลาสในสถานการณ์นี้ https://en.wikipedia.org › wiki › Multiple_inheritance
มรดกหลายรายการ - Wikipedia
Java รองรับการสืบทอดหลายรายการหรือไม่
เมื่อหนึ่งคลาสขยายมากกว่าหนึ่งคลาส จะเรียกว่าการสืบทอดหลายรายการ … Java ไม่อนุญาตการสืบทอดหลายรายการ.
ปัญหาของการสืบทอดหลายรายการคืออะไร
การสืบทอดหลายต่อหลายครั้งเป็นปัญหาที่ถกเถียงกันมานานหลายปี โดยฝ่ายตรงข้ามชี้ไปที่ความซับซ้อนและความกำกวมที่เพิ่มขึ้นในสถานการณ์เช่น "ปัญหาเพชร" ซึ่งมันอาจจะคลุมเครือว่า ระดับผู้ปกครอง คุณลักษณะเฉพาะจะสืบทอดมาจากหากมีมากกว่าหนึ่งคลาสหลักใช้งานเหมือนกัน …
ทำไม C++ ไม่สนับสนุนการสืบทอดหลายรายการใน Java
เป็นไปได้เพราะ Java ไม่อนุญาตการสืบทอดหลายรายการ แต่มีการใช้งานหลายรายการจากอินเทอร์เฟซหลายรายการเท่านั้น … เนื่องจากอินเทอร์เฟซใน java สามารถประกาศลายเซ็นของเมธอดโดยไม่ได้ใช้งานเท่านั้น ปัญหาจะไม่เกิดขึ้นหากได้รับหลายอินเทอร์เฟซ
อินเทอร์เฟซ Java สามารถมีมรดกหลายรายการได้อย่างไร
การสืบทอดหลายรายการใน Java โดยอินเทอร์เฟซ
- อินเทอร์เฟซที่พิมพ์ได้{
- โมฆะพิมพ์
- }
- แสดงอินเทอร์เฟซได้{
- โมฆะการแสดง
- }
- คลาส A7 ใช้งาน พิมพ์ได้ แสดงได้{
- พิมพ์โมฆะสาธารณะ{System.out.println("สวัสดี");}