Sobes.tech
Junior — Middle

Aký je účel objektu companion v jazyku Kotlin?

sobes.tech AI

Odpoveď od AI

V Kotlinu se objekt companion uporablja za deklaracijo spremljevalnega objekta znotraj razreda. To omogoča ustvarjanje statičnih članov (metod in lastnosti), ki pripadajo razredu, ne pa specifičnemu primeru.

Spremljevalni objekt se obnaša kot singleton, povezan z razredom, in njegovi člani se lahko kličejo prek imena razreda brez ustvarjanja objekta.

Primer:

class MyClass {
    companion object {
        fun create(): MyClass = MyClass()
        const val CONSTANT = 42
    }
}

fun main() {
    val instance = MyClass.create()  // klic spremljevalne metode
    println(MyClass.CONSTANT)        // dostop do spremljevalne konstante
}

Tako companion object nadomesti statične člane, ki v Kotlinu ne obstajajo, in omogoča priročno združevanje funkcij in podatkov, povezanih s razredom.