ทำไมจาวาไม่สนับสนุนการสืบทอดหลายรายการ

สารบัญ:

ทำไมจาวาไม่สนับสนุนการสืบทอดหลายรายการ
ทำไมจาวาไม่สนับสนุนการสืบทอดหลายรายการ
Anonim

Java รองรับการสืบทอดหลายรายการผ่านอินเทอร์เฟซเท่านั้น คลาสสามารถใช้อินเทอร์เฟซจำนวนเท่าใดก็ได้ แต่สามารถขยายได้เพียงคลาสเดียวเท่านั้น ไม่สนับสนุนการสืบทอดหลายรายการ เพราะมันนำไปสู่ปัญหาเพชรมรณะ ปัญหาเพชร "ปัญหาเพชร" (บางครั้งเรียกว่า "เพชรมรณะแห่งความตาย") เป็นความคลุมเครือที่เกิดขึ้นเมื่อสองคลาส B และ C รับมรดกจาก A และคลาส D สืบทอดมาจากทั้ง B และ C … เรียกว่า "ปัญหาเพชร" เนื่องจากรูปร่างของแผนภาพการสืบทอดคลาสในสถานการณ์นี้ https://en.wikipedia.org › wiki › Multiple_inheritance

มรดกหลายรายการ - Wikipedia

Java รองรับการสืบทอดหลายรายการหรือไม่

เมื่อหนึ่งคลาสขยายมากกว่าหนึ่งคลาส จะเรียกว่าการสืบทอดหลายรายการ … Java ไม่อนุญาตการสืบทอดหลายรายการ.

ปัญหาของการสืบทอดหลายรายการคืออะไร

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

ทำไม C++ ไม่สนับสนุนการสืบทอดหลายรายการใน Java

เป็นไปได้เพราะ Java ไม่อนุญาตการสืบทอดหลายรายการ แต่มีการใช้งานหลายรายการจากอินเทอร์เฟซหลายรายการเท่านั้น … เนื่องจากอินเทอร์เฟซใน java สามารถประกาศลายเซ็นของเมธอดโดยไม่ได้ใช้งานเท่านั้น ปัญหาจะไม่เกิดขึ้นหากได้รับหลายอินเทอร์เฟซ

อินเทอร์เฟซ Java สามารถมีมรดกหลายรายการได้อย่างไร

การสืบทอดหลายรายการใน Java โดยอินเทอร์เฟซ

  1. อินเทอร์เฟซที่พิมพ์ได้{
  2. โมฆะพิมพ์
  3. }
  4. แสดงอินเทอร์เฟซได้{
  5. โมฆะการแสดง
  6. }
  7. คลาส A7 ใช้งาน พิมพ์ได้ แสดงได้{
  8. พิมพ์โมฆะสาธารณะ{System.out.println("สวัสดี");}