Sobes.tech
Junior — Middle
147

In welke situaties wordt het aanbevolen om een abstracte klasse te gebruiken in objectgeoriënteerd ontwerp?

Bedrijven waar gevraagd werd
А Деньги

Antwoord van AI

sobes.tech AI

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

Ситуации применения:

  • Когда несколько классов имеют общую функциональность, которую можно реализовать в базовом абстрактном классе.
  • Когда нужно обеспечить частичную реализацию, оставляя детали реализации подклассам.
  • Когда требуется задать контракт (через абстрактные методы), но при этом предоставить некоторую общую логику.

Пример:

abstract class Animal {
    void breathe() {
        System.out.println("Дышит");
    }
    abstract void makeSound();
}

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

Здесь Animal — абстрактный класс с общей реализацией дыхания и абстрактным методом звука.