Sobes.tech
Junior — Middle

Можете ли да обясните смисъла на интерфейса в обектно-ориентираното програмиране?

sobes.tech AI

Отговор от AI

Интерфейсът в обектно-ориентираното програмиране е договор, който определя набор от методи без тяхната реализация. Класовете, които реализират интерфейса, са задължени да предоставят конкретна реализация на тези методи.

Интерфейсите позволяват:

  • Да дефинират общи възможности за различни класове.
  • Да осигуряват полиморфизъм — обекти от различни класове могат да се използват чрез общ интерфейс.
  • Да разделят дефиницията и реализацията, което подобрява модулността и тестируемостта.

Пример на C#:

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

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

Тук ILogger задава метода Log, а класът ConsoleLogger реализира този метод.