Sobes.tech
Junior — Middle

Wyjaśnij, czym jest interfejs w języku C# i jaką rolę odgrywa w programowaniu.

sobes.tech AI

Odpowiedź od AI

W C#, interfejs jest kontraktem, który definiuje zestaw metod, właściwości, zdarzeń lub indeksatorów, ale nie zawiera ich implementacji. Klasa lub struktura implementująca interfejs musi zapewnić konkretną implementację wszystkich jego członków.

Rola interfejsu w programowaniu:

  • Zapewnia abstrakcję i oddzielenie definicji zachowania od jego implementacji.
  • Umożliwia tworzenie elastycznych i rozszerzalnych architektur wspierających polimorfizm.
  • Ułatwia testowanie i wymianę komponentów, ponieważ kod działa z interfejsami, a nie z konkretnymi klasami.

Przykład interfejsu i jego implementacji:

public interface ILogger
{
    void Log(string message);
}

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

Tutaj ILogger ustala kontrakt logowania, a ConsoleLogger go implementuje, wyświetlając wiadomości w konsoli.