Junior
Какво е интерфейс в C#?
sobes.tech AI
Отговор от AI
Интерфейсът в C# е договор, който определя набор от членове (методи, свойства, събития, индексатори), но не съдържа тяхната реализация. Класовете и структурите могат да реализират един или повече интерфейси, като се задължават да предоставят реализация за всички членове на интерфейса.
Ключови характеристики:
- Позволява постигане на полиморфизъм.
- Определя поведение, а не състояние.
- Може да съдържа само декларации на членове без модификатори за достъп (неявно
public). - Не може да бъде създаден директно (инстанциран).
- Поддържа множествено наследяване (един клас може да реализира няколко интерфейса).
- Въведени са интерфейси по подразбиране с .NET Core 3.0+, които позволяват предоставяне на реализация на членове.
Пример:
// Определяне на интерфейс
public interface ICustomer
{
string GetFullName(); // Обявяване на метод
int CustomerId { get; } // Обявяване на свойство
}
// Клас, реализиращ интерфейса
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})";
}
}