Mengapa Warisan Pembina Tidak Disokong di Java?
Di Java, pembina tidak diwarisi. Ini menimbulkan persoalan mengapa ciri sedemikian tidak disokong. Untuk memahami perkara ini, mari kita pertimbangkan senario berikut:
Jika pembina diwarisi, setiap kelas akhirnya akan mewarisi pembina tanpa parameter daripada Objek kelas akar. Ini akan menyebabkan kekaburan, kerana kod seperti berikut akan menjadi bermasalah:
FileInputStream stream = new FileInputStream();
Dalam senario sedemikian, tingkah laku yang dijangkakan pembina akan menjadi tidak jelas.
Tambahan pula, dalam berorientasikan objek reka bentuk, parameter yang diperlukan untuk membina subkelas mungkin berbeza daripada yang diperlukan untuk superclass. Memaksa subkelas untuk mewarisi pembinanya boleh membawa kepada pertindihan yang tidak perlu dan berkelakuan tidak betul.
Walaupun mungkin terdapat kes di mana pembina lulus diingini, pembina tersebut harus dicipta secara eksplisit dan bukannya bergantung pada warisan. Ini membantu mengelakkan kekaburan dan mengekalkan prinsip paling tidak mengejutkan.
Atas ialah kandungan terperinci Mengapa Java Tidak Menyokong Warisan Pembina?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!