Rumah >pembangunan bahagian belakang >C++ >Pelaksanaan antara muka yang tersirat dan eksplisit di C#: Bilakah anda harus menggunakan yang mana?
C# menawarkan dua cara untuk melaksanakan antara muka: pelaksanaan tersembunyi dan pelaksanaan eksplisit.
ke dalam pelaksanaan:
Pelaksanaan illusal merujuk kepada ahli -ahli yang secara langsung menentukan ahli antara muka sebagai kelas. Contohnya:
meluahkan pelaksanaan:
<code class="language-csharp">public class MyList : IList<int> { public void Add(int item) { } public void CopyTo(int[] array, int index) { } // ... }</code>
Pelaksanaan eksplisit adalah kaedah antara muka definisi sintaks "interfacename.methodname" di kelas. Contohnya:
Penggunaan pelaksanaan eksplisit hanya boleh mengakses kaedah antara muka dengan menukar kelas ke dalam antara muka.
bila menggunakan pelaksanaan tersembunyi atau eksplisit:
<code class="language-csharp">public class MyList2 : IList<int> { void IList.CopyTo(Array array, int index) { } // ... }</code>Jika anda perlu mengakses dengan mudah ahli antara muka dan melaksanakan semua kaedah yang diperlukan, adalah disyorkan untuk menggunakan pelaksanaan tersembunyi. Pelaksanaan eksplisit boleh digunakan untuk situasi berikut:
perlu menyembunyikan butiran pelaksanaan tertentu. Pelbagai versi antara muka (contohnya, untuk suntikan ketergantungan).
Ahli antara muka memerlukan pengubahsuaian akses yang berbeza.
Dalam era bergantung kepada kelaziman suntikan, cadangan yang telah menentang pelaksanaan eksplisit tidak lagi begitu penting. Dalam aplikasi berdasarkan kebergantungan, antara muka biasanya diluluskan, jadi secara langsung menjadi kurang kritikal dari ahli antara muka akses kelas. Oleh itu, pilihan pelaksanaan tersirat dan eksplisit biasanya bergantung kepada keperluan khusus dan keutamaan reka bentuk. Walau bagaimanapun, pelaksanaan tersembunyi masih merupakan kaedah yang lebih biasa dan langsung.
Atas ialah kandungan terperinci Pelaksanaan antara muka yang tersirat dan eksplisit di C#: Bilakah anda harus menggunakan yang mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!