Назад к вопросам
Junior — Middle
85
Можете ли вы объяснить, что подразумевается под интерфейсами в программировании?
Компании, где спрашивали
ГК Адепт
Ответ от нейросети
sobes.tech AI
В программировании интерфейс — это абстрактный тип, который определяет набор методов (и иногда свойств), которые должен реализовать класс. Интерфейсы не содержат реализации, а лишь описывают, какие функции должны быть доступны.
В C++ интерфейс обычно реализуется через абстрактные классы с чисто виртуальными методами:
class IShape {
public:
virtual double area() const = 0; // чисто виртуальная функция
virtual ~IShape() {}
};
class Circle : public IShape {
double radius;
public:
Circle(double r) : radius(r) {}
double area() const override {
return 3.1415 * radius * radius;
}
};
Таким образом, интерфейс задаёт контракт, который обязаны соблюдать все классы, его реализующие. Это позволяет писать код, работающий с объектами через интерфейс, не зная конкретной реализации.