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ę.