Sobes.tech
Junior

Чӣ тавр метавон изҳороти 'object' дар Kotlin истифода бурд?

sobes.tech AI

Ҷавоб аз AI

object дар Kotlin истифода мешавад барои эҷоди singletonҳо, объектҳои номаълум ва объектҳои ҳамроҳ (companion object).

Singletonҳо:

Эҷоди як нусхаи ягонаи синф:

object DatabaseManager {
    fun connect() {
        // Логикаи пайвастшавӣ
    }
}

Истифода:

DatabaseManager.connect()

Объектҳои номаълум:

Эҷоди объект "дар вақти иҷро", ки метавонад интерфейсҳоро иҷро кунад ё аз синфҳо мерос гирад. Аксар вақт барои шунавандагони ҳодисаҳо истифода мешавад.

interface ClickListener {
    fun onClick()
}

fun setupButton(listener: ClickListener) {
    // Танзими тугма бо шунаванда
}

fun main() {
    setupButton(object : ClickListener {
        override fun onClick() {
            println("Тугма клик шуд!")
        }
    })
}

Объектҳои номаълум ба тағйирёбандаҳои муҳити атроф дастрасӣ доранд, агар онҳо финалӣ бошанд (ё таъсирбахш финалӣ дар Kotlin).

Объектҳои ҳамроҳ (companion object):

Маъзоли аъзои статикӣ дар Java. Дар дохили синф эълон мешавад.

class MyClass {
    companion object {
        const val TAG = "MyClass"

        fun create(): MyClass {
            return MyClass()
        }
    }
}

Истифода:

println(MyClass.TAG)
val instance = MyClass.create()

Объектҳои ҳамроҳ метавонанд ном дошта бошанд ва ҳатто интерфейсҳоро иҷро кунанд.