Sobes.tech
Junior — Middle
92

Peut-on définir une implémentation concrète des méthodes à l'intérieur d'une interface?

Entreprises à qui on a demandé
appfox

Réponse de l'IA

sobes.tech IA

В C# начиная с версии 8.0 появилась возможность определять реализацию методов внутри интерфейса — это так называемые методы с реализацией по умолчанию (default interface methods).

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

Пример:

public interface ILogger
{
    void Log(string message);

    void LogError(string message)  // метод с реализацией по умолчанию
    {
        Log("ERROR: " + message);
    }
}

public class ConsoleLogger : ILogger
{
    public void Log(string message)
    {
        Console.WriteLine(message);
    }
}

Таким образом, класс ConsoleLogger может не реализовывать LogError, и всё равно этот метод будет работать по умолчанию.