Sobes.tech
Назад к вопросам
Junior — Middle
80

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

Компании, где спрашивали
ГК Адепт

Ответ от нейросети

sobes.tech AI

Абстрактный класс в объектно-ориентированном программировании — это класс, который не предназначен для создания экземпляров напрямую, а служит базой для других классов. Он может содержать как реализованные методы, так и абстрактные (без реализации), которые должны быть переопределены в производных классах.

В C++ абстрактный класс определяется наличием хотя бы одной чисто виртуальной функции:

class AbstractClass {
public:
    virtual void doSomething() = 0; // чисто виртуальная функция
    void commonMethod() {
        // общая реализация
    }
};

class Derived : public AbstractClass {
public:
    void doSomething() override {
        // конкретная реализация
    }
};

Такой класс задаёт интерфейс и общую функциональность, обеспечивая полиморфизм и позволяя создавать иерархии классов с обязательным переопределением ключевых методов.