Back to questions
Junior — Middle
81
Объясните концепцию абстрактных классов в объектно-ориентированном программировании.
Companies where asked
Perfomance lab
Answer from AI
sobes.tech AI
Абстрактный класс — это класс, который не предназначен для создания экземпляров напрямую, а служит как базовый для других классов. Он может содержать как реализованные методы, так и абстрактные (без реализации), которые должны быть переопределены в подклассах.
Это позволяет задать общий интерфейс и поведение для группы связанных классов, обеспечивая полиморфизм и повторное использование кода. Например, абстрактный класс 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(), который реализует все абстрактные методы.