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