Sobes.tech
Junior

Co je výraz 'object' v Kotlinu a jak ho lze použít?

sobes.tech AI

Odpověď od AI

object v Kotlinu se používá k vytváření singletonů, anonymních objektů a companion objektů.

Singletony:

Vytvoření jediné instance třídy:

object DatabaseManager {
    fun connect() {
        // Logika připojení
    }
}

Použití:

DatabaseManager.connect()

Anonymní objekty:

Vytvoření "za běhu" objektu, který může implementovat rozhraní nebo dědit z třídy. Často se používá pro posluchače událostí.

interface ClickListener {
    fun onClick()
}

fun setupButton(listener: ClickListener) {
    // Nastavení tlačítka s posluchačem
}

fun main() {
    setupButton(object : ClickListener {
        override fun onClick() {
            println("Tlačítko bylo stisknuto!")
        }
    })
}

Náhodné objekty mají přístup k proměnným z okolního scope, pokud jsou finalní (nebo efektivně finalní v Kotlinu).

Companion objekty (companion object):

Podobně jako statické členy v Javě. Deklarují se uvnitř třídy.

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

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

Použití:

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

Companion objekty mohou mít jména a dokonce implementovat rozhraní.