Sobes.tech
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 реализует конкретное поведение звука.