Junior
C# da interfeys nima?
sobes.tech AI
AIdan javob
C# tilida interfeys — bu a'zo to'plamini (usullari, xususiyatlari, voqealari, indeksatorlari) belgilovchi shartnoma, ammo emas ularning amalga oshirilishini o'z ichiga olmaydi. Sinflar va tuzilmalar bir yoki bir nechta interfeyslarni amalga oshirishi mumkin, va ular barcha interfeys a'zolarining amalga oshirilishini ta'minlashga majbur.
Asosiy xususiyatlar:
- Polimorfizmga erishishga imkon beradi.
- Xulq-atvorni belgilaydi, holatni emas.
- Faqat a'zolar e'lonlarini, kirish modifikatorlari (yarim
public) bilan bo'sh qoldirilgan holda, saqlay oladi. - To'g'ridan-to'g'ri yaratilmaydi (instansiya qilinmaydi).
- Ko'p meros olishni qo'llab-quvvatlaydi (bir sinf bir nechta interfeyslarni amalga oshirishi mumkin).
- .NET Core 3.0+ bilan standart interfeyslar kiritildi, ular a'zolarni taqdim etish imkonini beradi.
Misol:
// Interfeys ta'rifi
public interface ICustomer
{
string GetFullName(); // Usul e'lon qilish
int CustomerId { get; } // Xususiyat e'lon qilish
}
// Interfeysni amalga oshiruvchi sinf
public class CompanyCustomer : ICustomer
{
public int CustomerId { get; set; }
public string CompanyName { get; set; }
public string ContactPerson { get; set; }
public string GetFullName()
{
return $"{CompanyName} ({ContactPerson})";
}
}