Sobes.tech
Junior — Middle

Czy możesz wyjaśnić sens interfejsu w programowaniu obiektowym?

sobes.tech AI

Odpowiedź od AI

Interfejs w programowaniu obiektowym to kontrakt, który definiuje zestaw metod bez ich implementacji. Klasy implementujące interfejs są zobowiązane do dostarczenia konkretnej implementacji tych metod.

Interfejsy umożliwiają:

  • Definiowanie wspólnych możliwości dla różnych klas.
  • Zapewnienie polimorfizmu — obiekty różnych klas mogą być używane przez wspólny interfejs.
  • Oddzielenie definicji od implementacji, co poprawia modularność i testowalność.

Przykład w C#:

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

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

Tutaj ILogger definiuje metodę Log, a klasa ConsoleLogger implementuje tę metodę.