Back to questions
Junior — Middle
81
Можете объяснить, что представляет собой абстрактный класс в объектно-ориентированном программировании?
Companies where asked
ГК Адепт
Answer from AI
sobes.tech AI
Абстрактный класс в объектно-ориентированном программировании — это класс, который не предназначен для создания экземпляров напрямую, а служит базой для других классов. Он может содержать как реализованные методы, так и абстрактные (без реализации), которые должны быть переопределены в производных классах.
В C++ абстрактный класс определяется наличием хотя бы одной чисто виртуальной функции:
class AbstractClass {
public:
virtual void doSomething() = 0; // чисто виртуальная функция
void commonMethod() {
// общая реализация
}
};
class Derived : public AbstractClass {
public:
void doSomething() override {
// конкретная реализация
}
};
Такой класс задаёт интерфейс и общую функциональность, обеспечивая полиморфизм и позволяя создавать иерархии классов с обязательным переопределением ключевых методов.