Junior — Middle
Je objekt společník společný pro všechny vytvořené instance třídy?
sobes.tech AI
Odpověď od AI
Ano, companion object (společný objekt) v Kotlinu je sdílený všemi instancemi třídy. Je to jakýsi singleton spojený s třídou, nikoliv s konkrétní instancí.
Companion object umožňuje definovat funkce a vlastnosti, které lze volat bez vytvoření instance třídy, podobně jako statické metody a pole v Javě.
Příklad:
class MyClass {
companion object {
val sharedValue = 42
fun printValue() {
println("Sdílená hodnota: $sharedValue")
}
}
}
fun main() {
println(MyClass.sharedValue) // 42
MyClass.printValue() // Sdílená hodnota: 42
}
Zde jsou sharedValue a printValue sdílené všemi instancemi MyClass.