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

Когда целесообразно применять абстрактный класс в дизайне объектов?

Компании, где спрашивали
СБЕРСБЕР

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

sobes.tech AI

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

Целесообразно использовать абстрактный класс, если:

  • Есть общий функционал, который должен быть у всех подклассов.
  • Нужно объявить методы, которые должны быть реализованы в подклассах (абстрактные методы).
  • Требуется частичная реализация, которую можно переиспользовать.

Пример:

abstract class Animal {
    void eat() {
        System.out.println("Ест пищу");
    }
    abstract void makeSound();
}

class Dog extends Animal {
    @Override
    void makeSound() {
        System.out.println("Гав-гав");
    }
}

Здесь Animal — абстрактный класс с общим методом eat и абстрактным методом makeSound, который обязаны реализовать все животные.