Rumah >pembangunan bahagian belakang >C++ >C#: Implicit vs Pelaksanaan Antara Muka Eksplisit: Pendekatan mana yang terbaik?
Definisi antara muka dalam C# ditakrifkan sebagai kontrak untuk menyediakan kontrak. Kontrak ini boleh dilaksanakan dengan tersembunyi atau secara eksplisit, masing -masing dengan ciri -cirinya sendiri.
pelaksanaan tersembunyi
Kaedah ini mentakrifkan ahli antara muka sebagai ahli konvensional yang melaksanakan kelas. Ini memudahkan kod dan membolehkan untuk mengakses antara muka secara langsung melalui kelas itu sendiri, yang kedua -duanya boleh diubah. Contohnya:
<code class="language-csharp">class MyClass : IList { public void CopyTo(Array array, int index) { // CopyTo 的实现 } }</code>Dalam pelaksanaan eksplisit, definisi ahli antara muka termasuk nama antara muka. Had ini hanya boleh mengakses antara muka dengan menukar wajib ke antara muka itu sendiri:
Kelebihan dan Kekurangan
pelaksanaan yang dipancarkan:
<code class="language-csharp">class MyClass : IList { void IList.CopyTo(Array array, int index) { // CopyTo 的实现 } }</code>
kod ini lebih ringkas
anda boleh mengakses antara muka melalui kelas dan antara mukaDalam persekitaran bukan -IOC, tingkah laku yang tidak dijangka mungkin disebabkan
Benarkan pelbagai antara muka
Atas ialah kandungan terperinci C#: Implicit vs Pelaksanaan Antara Muka Eksplisit: Pendekatan mana yang terbaik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!