Junior — Middle
Da li je objekat-pratilac zajednički za sve kreirane instance klase?
sobes.tech АИ
Одговор од АИ
Da, companion object (objekat saputnik) u Kotlinu je zajednički za sve instance klase. To je vrsta singletona povezanog sa klasom, a ne sa konkretnom njenom instancom.
Objekat saputnik omogućava definisanje funkcija i svojstava koja se mogu pozvati bez kreiranja instance klase, slično statičkim metodama i poljima u Javi.
Primer:
class MyClass {
companion object {
val sharedValue = 42
fun printValue() {
println("Deljena vrednost: $sharedValue")
}
}
}
fun main() {
println(MyClass.sharedValue) // 42
MyClass.printValue() // Deljena vrednost: 42
}
Ovde su sharedValue i printValue zajednički za sve instance MyClass.