Sobes.tech
Junior

Kas ir 'object' izteiksme Kotlin un kā to var izmantot?

sobes.tech AI

Atbilde no AI

Kotlin valodā object tiek izmantots singletonu, anonīmu objektu un sabiedroto (companion object) izveidei.

Singletoni:

Izveido vienu klases eksemplāru:

object DatabaseManager {
    fun connect() {
        // Savienojuma loģika
    }
}

Izmantošana:

DatabaseManager.connect()

Anonīmi objekti:

Izveido "uz vietas" objektu, kas var realizēt saskarnes vai manto no klases. Bieži tiek izmantots notikumu klausītājiem.

interface ClickListener {
    fun onClick()
}

fun setupButton(listener: ClickListener) {
    // Pogas konfigurācija ar klausītāju
}

fun main() {
    setupButton(object : ClickListener {
        override fun onClick() {
            println("Poga nospiesta!")
        }
    })
}

Nemainīgi objekti piekļūst ārējā skopa mainīgajiem, ja tie ir finali (vai efektīvi finali Kotlinā).

Sabiedroto objekti (companion object):

Līdzīgi statiskiem locekļiem Java. Deklarēts klases iekšpusē.

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

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

Izmantošana:

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

Sabiedroto objekti var būt ar nosaukumiem un pat realizēt interfeisus.