Junior
Czym jest wyrażenie 'object' w Kotlinie i jak można je wykorzystać?
sobes.tech AI
Odpowiedź od AI
object w Kotlinie jest używany do tworzenia singletonów, anonimowych obiektów i obiektów towarzyszących (companion object).
Singletony:
Tworzenie pojedynczej instancji klasy:
object DatabaseManager {
fun connect() {
// Logika połączenia
}
}
Użycie:
DatabaseManager.connect()
Obiekty anonimowe:
Tworzenie obiektu "w locie", który może implementować interfejsy lub dziedziczyć po klasach. Często używane do obsługi zdarzeń.
interface ClickListener {
fun onClick()
}
fun setupButton(listener: ClickListener) {
// Konfiguracja przycisku z listenerem
}
fun main() {
setupButton(object : ClickListener {
override fun onClick() {
println("Przycisk kliknięty!")
}
})
}
Anonimowe obiekty mają dostęp do zmiennych z zakresu otaczającego, jeśli są finalne (lub efektywnie finalne w Kotlin).
Obiekty towarzyszące (companion object):
Odpowiednik statycznych członków w Java. Deklaruje się wewnątrz klasy.
class MyClass {
companion object {
const val TAG = "MyClass"
fun create(): MyClass {
return MyClass()
}
}
}
Użycie:
println(MyClass.TAG)
val instance = MyClass.create()
Obiekty towarzyszące mogą mieć nazwy i nawet implementować interfejsy.