Sobes.tech
Back to questions
Junior — Middle
77

Объясните, что представляет собой абстрактный класс в объектно-ориентированном программировании.

Answer from AI

sobes.tech AI

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

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

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

Пример на Java:

abstract class Animal {
    abstract void makeSound(); // абстрактный метод

    void sleep() {
        System.out.println("Sleeping...");
    }
}

class Dog extends Animal {
    void makeSound() {
        System.out.println("Bark");
    }
}

Здесь Animal нельзя создать напрямую, но можно создать Dog, который реализует абстрактный метод.