Sobes.tech
Back to questions
Junior — Middle
66

Какие причины позволяют присваивать свойства интерфейсам в языке программирования?

Answer from AI

sobes.tech AI

В C# начиная с версии 8.0 интерфейсам можно присваивать свойства с реализацией по умолчанию. Это позволяет:

  • Добавлять новые члены в интерфейсы без нарушения существующих реализаций (обратная совместимость).
  • Делать интерфейсы более гибкими и расширяемыми.

Например, можно определить свойство с реализацией прямо в интерфейсе:

public interface ILogger
{
    string LogLevel { get; set; }  // свойство с реализацией по умолчанию
    void Log(string message);
}

public class ConsoleLogger : ILogger
{
    public string LogLevel { get; set; } = "Info";
    public void Log(string message)
    {
        Console.WriteLine($"[{LogLevel}] {message}");
    }
}

Таким образом, свойства в интерфейсах повышают выразительность и удобство использования интерфейсов.