เหตุใด Java อธิบายด้วยตัวอย่างไม่รองรับการสืบทอดหลายรายการ
เหตุใด Java อธิบายด้วยตัวอย่างไม่รองรับการสืบทอดหลายรายการ

วีดีโอ: เหตุใด Java อธิบายด้วยตัวอย่างไม่รองรับการสืบทอดหลายรายการ

วีดีโอ: เหตุใด Java อธิบายด้วยตัวอย่างไม่รองรับการสืบทอดหลายรายการ
วีดีโอ: Why multiple inheritance not supported by java? #javainterview #multipleinheritance #inheritance 2024, อาจ
Anonim

ใน จาวา สิ่งนี้ไม่สามารถเกิดขึ้นได้เนื่องจากไม่มี หลายมรดก . แม้ว่าทั้งสองอินเทอร์เฟซจะมีเมธอดเดียวกัน คลาส Implementation จะมีเมธอดเดียว และ Implementer จะทำเช่นเดียวกัน การโหลดคลาสแบบไดนามิกทำให้การใช้งาน หลายมรดก ยาก.

สิ่งที่ควรทราบก็คือ เหตุใดการสืบทอดหลายรายการจึงไม่รองรับใน Java พร้อมตัวอย่าง

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

เหตุใด C ++ จึงรองรับการสืบทอดหลายรายการ แต่ไม่รองรับใน Java C++ , เสียงกระหึ่มทั่วไปและภาษาอื่นๆ อีกเล็กน้อย รองรับหลายมรดก ในขณะที่ จาวา ไม่ สนับสนุน มัน. Java ไม่อนุญาต หลายมรดก เพื่อหลีกเลี่ยงความคลุมเครือที่เกิดจากมัน ตัวอย่างหนึ่งของปัญหาดังกล่าวคือ ปัญหาเพชรที่เกิดขึ้นใน หลายมรดก.

ด้วยวิธีนี้ Java รองรับการสืบทอดหลายรายการคืออะไร?

Java รองรับการสืบทอดหลายรายการ ผ่านอินเทอร์เฟซ Java ไม่ รองรับหลายมรดก เพราะมันสร้างปัญหาเพชร ถ้าคลาสที่สืบทอดมาจากสองคลาสขึ้นไป คลาสนั้นจะเรียกว่า หลายมรดก.

มรดกหลายรายการอธิบายด้วยตัวอย่างคืออะไร?

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

แนะนำ: