Назад к вопросам
Junior — Middle
70
Какова роль и назначение абстрактных классов в объектно-ориентированном программировании?
Компании, где спрашивали
АВ Софт
Ответ от нейросети
sobes.tech AI
Абстрактные классы в объектно-ориентированном программировании служат шаблонами для создания других классов. Они не могут быть инстанцированы напрямую и обычно содержат как реализованные методы, так и абстрактные (без реализации), которые должны быть переопределены в подклассах. Это позволяет определить общий интерфейс и базовое поведение, обеспечивая при этом гибкость для конкретных реализаций.
Пример на Kotlin (Android):
abstract class Animal {
abstract fun makeSound()
fun sleep() {
println("Спит")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Гав-гав")
}
}
Здесь Animal — абстрактный класс, задающий общий контракт для всех животных, а Dog реализует конкретное поведение звука.