Назад к вопросам
Junior
89
questionbank

Что такое абстрактный класс и для чего он используется?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Абстрактный класс — это класс, который содержит одно или несколько абстрактных (без реализации) методов или же объявлен с ключевым словом abstract, но не содержит абстрактных методов. Он не может быть инстанцирован напрямую.

Использование:

  1. Определение общего поведения: Абстрактные классы определяют скелет поведения, которое должно быть реализовано его подклассами. Это позволяет избежать дублирования кода.
  2. Частичная реализация интерфейса: Можно реализовать часть интерфейса в абстрактном классе, оставив специфическую реализацию для подклассов.
  3. Предотвращение инстанцирования: Гарантирует, что только конкретные подклассы могут быть созданы.
abstract class Shape { // Абстрактный класс
    abstract fun draw() // Абстрактный метод

    fun fill(color: String) { // Обычный метод
        // Реализация заполнения
    }
}

class Circle : Shape() {
    override fun draw() {
        // Реализация отрисовки круга
    }
}