Sobes.tech
Junior — Middle

Je objekt sprievodca spoločný pre všetky vytvorené inštancie triedy?

sobes.tech AI

Odpoveď od AI

Áno, companion object (spoločník objekt) v Kotlin je spoločný pre všetky inštancie triedy. Ide o akýsi singleton spojený s triedou, nie s konkrétnou jej inštanciou.

Companion object umožňuje definovať funkcie a vlastnosti, ktoré je možné volať bez vytvorenia inštancie triedy, podobne ako statické metódy a polia v Jave.

Príklad:

class MyClass {
    companion object {
        val sharedValue = 42
        fun printValue() {
            println("Zdieľaná hodnota: $sharedValue")
        }
    }
}

fun main() {
    println(MyClass.sharedValue) // 42
    MyClass.printValue()        // Zdieľaná hodnota: 42
}

Tu sú sharedValue a printValue spoločné pre všetky inštancie MyClass.