Java รองรับการสืบทอดหลายรายการหรือไม่ เพราะเหตุใด
Java รองรับการสืบทอดหลายรายการหรือไม่ เพราะเหตุใด

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

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

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

ดังนั้น อนุญาตให้มีการสืบทอดหลายรายการใน Java หรือไม่

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

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

ยังทราบด้วยว่า Java ไม่รองรับการสืบทอดใด ทำไม?

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

เหตุใดจึงใช้การสืบทอดหลายรายการในอินเทอร์เฟซ

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

แนะนำ: