Warisan Java: Berbilang vs. Berbilang Peringkat
Di Jawa, konsep warisan membenarkan kelas mewarisi sifat dan tingkah laku daripada yang lain kelas. Walau bagaimanapun, persoalan sama ada Java menyokong warisan berbilang (iaitu, mewarisi daripada pelbagai kelas asas) telah mencetuskan beberapa perdebatan.
Kenyataan Penemuduga
Seorang penemuduga mengemukakan senario di mana kelas A memanjangkan kelas B, dan kelas B memanjangkan kelas Objek. Mereka berhujah bahawa memandangkan A mewarisi daripada B dan akhirnya daripada Object, ini membentuk berbilang warisan.
Respons Anda
Respons anda, memetik bahawa B mewarisi daripada Object, dijelaskan dengan betul bahawa senario ini mewakili warisan berbilang peringkat dan bukannya warisan berbilang.
Menentukan Warisan Berbilang
Warisan berbilang merujuk kepada situasi di mana kelas mewarisi sifat dan tingkah laku daripada dua atau lebih banyak kelas asas yang tidak berkaitan. Di Java, jenis warisan ini tidak disokong.
Warisan Berbilang Peringkat
Warisan berbilang peringkat berlaku apabila kelas mewarisi daripada kelas lain, yang seterusnya mewarisi dari kelas lain, dan seterusnya. Dalam senario yang diberikan, A melanjutkan B, dan B memanjangkan Objek, mewujudkan rantaian warisan dan bukannya berbilang cawangan.
Butiran Pelaksanaan
Secara dalaman, JVM menyelesaikan ahli akses daripada objek dengan mencari ahli dalam jenis objek atau dalam jenis yang diwarisinya. Dalam contoh yang diberikan, contoh kelas A boleh mengakses ahli daripada A dan B kerana B secara tidak langsung menyediakan akses kepada ahli yang diwarisi daripada Object.
Java 8 dan Kaedah Antara Muka Lalai
Walaupun Java tidak menyokong warisan berbilang benar, pengenalan kaedah antara muka lalai dalam Java 8 telah memperkenalkan beberapa kerumitan. Kaedah antara muka lalai membenarkan antara muka menyediakan pelaksanaan lalai untuk kaedah mereka. Apabila kelas melaksanakan antara muka, ia boleh mewarisi kaedah lalai ini, walaupun ia tidak menyediakan pelaksanaannya sendiri. Ini boleh mensimulasikan kesan warisan berbilang pada tahap tertentu. Walau bagaimanapun, ia mengelakkan beberapa kemungkinan perangkap warisan berbilang sebenar, seperti kekaburan kaedah dan konflik pembina.
Atas ialah kandungan terperinci Warisan Java: Adakah Warisan Berbilang Disokong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!