Можешь ли ты перечислить и описать конструкторы, доступные для Sealed Class?

Sealed Class в Kotlin — это класс, который ограничивает наследование: все подклассы должны быть объявлены в том же файле.

Короткий ответ

Что ответить на собеседовании

Sealed Class в Kotlin — это класс, который ограничивает наследование: все подклассы должны быть объявлены в том же файле.

Подробный разбор

Ответ с пояснениями

Sealed Class в Kotlin — это класс, который ограничивает наследование: все подклассы должны быть объявлены в том же файле.

Что касается конструкторов для sealed классов:

  • Сам sealed класс может иметь конструкторы, как обычный класс.
  • Подклассы sealed класса могут иметь свои собственные конструкторы.
  • Обычно sealed класс объявляется как абстрактный, и его конструктор может быть защищённым или публичным.

Пример:

sealed class Result {
    data class Success(val data: String) : Result()
    data class Error(val error: Throwable) : Result()
}

Здесь sealed класс Result не имеет явного конструктора, но подклассы Success и Error имеют свои конструкторы с параметрами.

Таким образом, sealed класс сам по себе может иметь конструкторы, но чаще важны конструкторы его наследников, которые определяют конкретные варианты.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку