Sobes.tech
Junior

Ce este expresia 'object' în Kotlin și cum poate fi utilizată?

sobes.tech AI

Răspuns de la AI

object în Kotlin este utilizat pentru crearea singletonurilor, obiectelor anonime și obiectelor companion.

Singletonuri:

Crearea unei singure instanțe a unei clase:

object DatabaseManager {
    fun connect() {
        // Logica de conectare
    }
}

Utilizare:

DatabaseManager.connect()

Obiecte anonime:

Crearea unui obiect "din mers", care poate implementa interfețe sau moșteni din clase. Folosit frecvent pentru ascultători de evenimente.

interface ClickListener {
    fun onClick()
}

fun setupButton(listener: ClickListener) {
    // Configurarea butonului cu listener
}

fun main() {
    setupButton(object : ClickListener {
        override fun onClick() {
            println("Buton apăsat!")
        }
    })
}

Obiectele anonime au acces la variabile din scope-ul înconjurător dacă sunt finale (sau efectiv finale în Kotlin).

Obiecte companion (companion object):

Similar cu membrii statici în Java. Se declară în interiorul unei clase.

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

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

Utilizare:

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

Obiectele companion pot avea nume și pot implementa interfețe.