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.