В Kotlin основные виды объектов и их различия:
Можно ли перечислить основные виды объектов в Kotlin и объяснить их различия?
В Kotlin основные виды объектов и их различия:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Kotlin основные виды объектов и их различия:
- Классы (class) — шаблоны для создания объектов с состоянием и поведением. Могут иметь конструкторы, свойства, методы.
- Объекты (object) — синглтоны, то есть единственный экземпляр класса, создаваемый автоматически. Используются для хранения глобального состояния или утилит.
- Компаньоны (companion object) — объект внутри класса, который позволяет создавать статические члены (аналог static в Java).
- data class — классы, предназначенные для хранения данных. Автоматически генерируют методы equals, hashCode, toString, copy.
- sealed class — ограниченный набор подклассов, полезен для выражения иерархий с фиксированным числом вариантов.
- enum class — перечисления, набор именованных констант.
Пример объекта и компаньона:
object Singleton {
val name = "Я синглтон"
}
class MyClass {
companion object {
fun create() = MyClass()
}
}
Объекты создаются один раз и используются как глобальные экземпляры, в то время как классы могут иметь множество экземпляров.