Sobes.tech
Junior — Middle

Az osztály összes példányához közös tárgy-e a tárgy-tárgy?

sobes.tech MI

Válasz az MI-től

Igen, a Kotlin-ben a companion object (tárgy) minden példány számára közös. Ez egyfajta singleton, amely a osztályhoz kapcsolódik, nem pedig egy konkrét példányhoz.

A companion object lehetővé teszi olyan függvények és tulajdonságok definiálását, amelyeket példány létrehozása nélkül lehet hívni, hasonlóan a Java statikus metódusaihoz és mezőihez.

Példa:

class MyClass {
    companion object {
        val sharedValue = 42
        fun printValue() {
            println("Közös érték: $sharedValue")
        }
    }
}

fun main() {
    println(MyClass.sharedValue) // 42
    MyClass.printValue()        // Közös érték: 42
}

Itt a sharedValue és a printValue minden MyClass példány számára közös.