Mengapa java tidak menyokong berbilang warisan?

Isi kandungan:

Mengapa java tidak menyokong berbilang warisan?
Mengapa java tidak menyokong berbilang warisan?
Anonim

Java menyokong pelbagai warisan melalui antara muka sahaja. Kelas boleh melaksanakan sebarang bilangan antara muka tetapi boleh melanjutkan hanya satu kelas. Pewarisan berbilang tidak disokong kerana ia membawa kepada masalah berlian yang membawa maut masalah berlian "masalah berlian" (kadangkala dirujuk sebagai "Berlian Kematian yang Mematikan") ialah kesamaran yang timbul apabila dua kelas B dan C mewarisi daripada A dan kelas D mewarisi daripada kedua-dua B dan C. … Ia dipanggil "masalah berlian" kerana bentuk rajah warisan kelas dalam situasi ini. https://en.wikipedia.org › wiki › Pusaka_berbilang

Warisan berbilang - Wikipedia

Adakah Java menyokong pelbagai warisan atau tidak?

Apabila satu kelas memanjangkan lebih daripada satu kelas maka ini dipanggil warisan berbilang. … Java tidak membenarkan berbilang warisan.

Apakah masalah dengan warisan berbilang?

Pewarisan berbilang telah menjadi isu kontroversi selama bertahun-tahun, dengan pihak lawan menunjukkan peningkatan kerumitan dan kekaburan dalam situasi seperti "masalah berlian", di mana ia mungkin samar-samar sebagai kelas induk mana ciri tertentu diwarisi jika lebih daripada satu kelas induk melaksanakan yang sama …

Mengapa C++ tidak menyokong berbilang warisan dalam Java?

Itu mungkin kerana Java tidakmembenarkan berbilang warisan, tetapi hanya berbilang pelaksanaan daripada berbilang antara muka. … Memandangkan antara muka dalam java hanya boleh mengisytiharkan tandatangan kaedah tanpa melaksanakannya, masalah tidak wujud jika berbilang antara muka diperoleh.

Bagaimanakah antara muka Java boleh mempunyai berbilang warisan?

Pewarisan berbilang dalam Java mengikut antara muka

  1. antaramuka Boleh Dicetak{
  2. cetakan batal;
  3. }
  4. muka Boleh Ditunjukkan{
  5. tayangan batal;
  6. }
  7. kelas A7 melaksanakan Boleh Cetak, Boleh Pamerkan{
  8. cetak kosong awam{System.out.println("Hello");}

Disyorkan: