Ответ
- Singleton – создание единственного экземпляра класса:
object DatabaseHelper {
fun queryData() { ... }
}
- Companion Object – замена статических методов/полей:
class MyClass {
companion object {
const val TAG = "MyClass"
fun create() = MyClass()
}
}
- Anonymous Object – анонимные объекты вместо Java-анонимных классов:
setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) { ... }
})
- Объекты-константы – хранение неизменяемых данных.
- Объекты в sealed классах – для представления состояний/событий.
Используется для структур, где не нужны множественные экземпляры.