Sobes.tech
Junior — Middle
94

Интерфейсте әдістердің нақты жүзеге асырылуын анықтау мүмкін бе?

Сұралған компаниялар
appfox

AI-дан жауап

sobes.tech AI

C# тілінде 8.0 нұсқасынан бастап интерфейстің ішінде әдістердің іске асыруын анықтау мүмкіндігі пайда болды — бұл әдеттегі интерфейс әдістері (default interface methods) деп аталады.

Бұл интерфейстерге жаңа әдістер қосуға мүмкіндік береді, ал бұрынғы іске асыруларын бұзбай.

Мысал:

public interface ILogger
{
    void Log(string message);

    void LogError(string message)  // әдепкі іске асыру әдісі
    {
        Log("ҚАТЕЛІ: " + message);
    }
}

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

Осылайша, ConsoleLogger класы LogError әдісін іске асыруы міндетті емес, бірақ ол әдепкі бойынша жұмыс істейді.