Junior — Middle
L'oggetto compagno è comune a tutte le istanze create della classe?
sobes.tech AI
Risposta dell'AI
Sì, l'oggetto companion (companion object) in Kotlin è condiviso da tutte le istanze della classe. È una sorta di singleton associato alla classe, non a una sua istanza specifica.
L'oggetto companion permette di definire funzioni e proprietà che possono essere chiamate senza creare un'istanza della classe, simile ai metodi e campi statici in Java.
Esempio:
class MyClass {
companion object {
val sharedValue = 42
fun printValue() {
println("Valore condiviso: $sharedValue")
}
}
}
fun main() {
println(MyClass.sharedValue) // 42
MyClass.printValue() // Valore condiviso: 42
}
Qui, sharedValue e printValue sono condivisi da tutte le istanze di MyClass.