Mengapa Pewarisan Berbilang tidak mungkin dalam C#?
Mengapa Pewarisan Berbilang tidak mungkin dalam C#?

Video: Mengapa Pewarisan Berbilang tidak mungkin dalam C#?

Video: Mengapa Pewarisan Berbilang tidak mungkin dalam C#?
Video: Thomas Arya feat Yelse - Biarlah Berpisah (Official Video) 2024, Mungkin
Anonim

C# lakukan bukan sokongan pusaka berbilang , kerana mereka beralasan bahawa menambah pusaka berbilang menambahkan terlalu banyak kerumitan kepada C# sambil memberikan terlalu sedikit faedah. Dalam C#, kelas hanya dibenarkan kepada mewarisi daripada kelas induk tunggal, yang dipanggil tunggal harta pusaka.

Cuma, mengapa warisan berbilang tidak dibenarkan?

Java menyokong pusaka berbilang melalui antara muka sahaja. Kelas boleh melaksanakan sebarang bilangan antara muka tetapi boleh melanjutkan hanya satu kelas. Warisan berbilang tidak disokong kerana ia membawa kepada masalah berlian maut. Antara muka ialah kontrak perkara yang perlu dilaksanakan oleh kelas anda.

Seseorang juga mungkin bertanya, bolehkah kita mewarisi berbilang antara muka dalam C#? Antara muka adalah seperti perjanjian atau "kontrak" tentang kelas apa boleh buat . Kelas boleh mempunyai berbilang antara muka , tetapi kelas tidak boleh mewarisi berbilang kelas. Kelas mewarisi daripada lebih daripada satu kelas dikenali sebagai pelbagai - harta pusaka . C# lakukan tidak dibenarkan pelbagai - harta pusaka.

Di sini, apakah masalah Diamond dalam pelbagai warisan C#?

" masalah berlian " ialah kekaburan yang timbul apabila dua kelas B dan C mewarisi daripada A, dan kelas D mewarisi daripada kedua-dua B dan C. Jika terdapat kaedah dalam A yang B dan C telah mengatasi, dan D tidak mengatasinya, maka kelas kaedah manakah yang D mewarisi : itu B, atau C?

Apakah warisan berbilang dalam C# dengan contoh?

C# tidak mengizinkan pusaka berbilang dengan kelas tetapi ia boleh dilaksanakan menggunakan antara muka. Sebab di sebalik adalah: Pusaka berbilang menambah terlalu banyak kerumitan dengan sedikit faedah. Terdapat peluang besar untuk bercanggah dengan ahli kelas asas. Warisan dengan Antara Muka menyediakan tugas yang sama pusaka berbilang.

Disyorkan: