Sobes.tech
Junior

Mi az az 'object' kifejezés a Kotlinban, és hogyan lehet használni?

sobes.tech MI

Válasz az MI-től

A object Kotlinben singletonokat, névtelen objektumokat és társosztályokat (companion object) hoz létre.

Singletonok:

Egy osztály egyetlen példányának létrehozása:

object DatabaseManager {
    fun connect() {
        // Kapcsolódási logika
    }
}

Használat:

DatabaseManager.connect()

Névtelen objektumok:

"Azonnal" létrehozott objektum, amely implementálhat interfészeket vagy örökölhet osztályokat. Gyakran használják eseményfigyelőkhöz.

interface ClickListener {
    fun onClick()
}

fun setupButton(listener: ClickListener) {
    // Gomb beállítása a listenerrel
}

fun main() {
    setupButton(object : ClickListener {
        override fun onClick() {
            println("Gomb megnyomva!")
        }
    })
}

Névtelen objektumok hozzáférhetnek a környezeti változókhoz, ha azok finalok (vagy effektív finalok Kotlinben).

Társosztályok (companion object):

A Java statikus tagjainak megfelelője. Egy osztályon belül deklarálják.

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

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

Használat:

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

A társosztályoknak lehetnek nevek, sőt akár interfészeket is megvalósíthatnak.