Junior
128
questionbank
Что такое интерфейс в C#?
Answer from AI
sobes.tech AI
Интерфейс в C# — это контракт, который определяет набор членов (методов, свойств, событий, индексаторов), но не содержит их реализацию. Классы и структуры могут реализовывать один или несколько интерфейсов, обязуясь предоставить реализацию для всех членов интерфейса.
Ключевые особенности:
- Позволяет достичь полиморфизма.
- Определяет поведение, а не состояние.
- Может содержать только объявления членов без модификаторов доступа (неявно
public). - Не может быть создан напрямую (инстанцирован).
- Поддерживает множественное наследование (один класс может реализовать несколько интерфейсов).
- Введены интерфейсы по умолчанию с .NET Core 3.0+, позволяющие предоставлять реализацию miembros.
Пример:
// Определение интерфейса
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})";
}
}