Може ли да се наброје главне врсте објеката у Kotlin-у и да се објасне њихова разлика?
sobes.tech АИ
Одговор од АИ
В 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()
}
}
Объекты создаются один раз и используются как глобальные экземпляры, в то время как классы могут иметь множество экземпляров.