Junior — Middle
Explique o conceito de classes abstratas na programação orientada a objetos.
sobes.tech IA
Resposta da IA
Абстрактный класс — это класс, который не предназначен для создания экземпляров напрямую, а служит как базовый для других классов. Он может содержать как реализованные методы, так и абстрактные (без реализации), которые должны быть переопределены в подклассах.
Это позволяет задать общий интерфейс и поведение для группы связанных классов, обеспечивая полиморфизм и повторное использование кода. Например, абстрактный класс Animal может иметь абстрактный метод makeSound(), который реализуют конкретные животные:
abstract class Animal {
abstract void makeSound();
void sleep() {
System.out.println("Sleeping...");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Bark");
}
}
Здесь нельзя создать new Animal(), но можно создать new Dog(), который реализует все абстрактные методы.