Berbeza dengan peruntukannya untuk pelaksanaan berbilang antara muka, Java melarang warisan berbilang. Walau bagaimanapun, perbezaan ini menimbulkan persoalan tentang alasan di sebalik sekatan tersebut.
Java membenarkan pelaksanaan berbilang antara muka kerana antara muka berfungsi semata-mata sebagai protokol, mentakrifkan gelagat yang sesebuah kelas harus mematuhi. Mereka tidak menentukan cara tingkah laku tersebut dilaksanakan.
Sebaliknya, pewarisan berbilang melibatkan pewarisan daripada berbilang kelas, masing-masing berpotensi mentakrifkan butiran pelaksanaannya sendiri. Ini boleh membawa kepada konflik, kerana dua kelas yang diwarisi mungkin menentukan cara yang berbeza untuk melaksanakan tugas yang sama.
Tanpa mekanisme yang jelas untuk menyelesaikan konflik ini, kelas yang mewarisi akan menghadapi masalah kekaburan: ia tidak boleh menggunakan kedua-dua pelaksanaan yang bercanggah secara serentak. Keputusan Java untuk tidak membenarkan warisan berbilang berpunca daripada masalah asas ini.
Untuk memastikan kejelasan dan kebolehselenggaraan kod, Java mengehadkan warisan kepada kelas induk tunggal, menghalang konflik sedemikian dan membenarkan subkelas memfokus pada pendekatan pelaksanaan tunggal. Walau bagaimanapun, melalui pelaksanaan berbilang antara muka, pembangun masih boleh memanfaatkan pelbagai fungsi dan gelagat polimorfik daripada berbilang protokol.
Atas ialah kandungan terperinci Mengapa Java Tidak Menyokong Pewarisan Berbilang Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!