Sobes.tech
Junior — Middle

Оё объект-компаньон умумӣ барои ҳамаи намунаҳои синф аст?

sobes.tech AI

Ҷавоб аз AI

Бале, companion object (объект-компаньон) в Kotlin е споделен за всички екземпляри на класа. Това е вид сингълтън, свързан с класа, а не с конкретен негов екземпляр.

Обект-компаньонът позволява да дефинирате функции и свойства, които могат да бъдат извикани без създаване на екземпляр на класа, подобно на статичните методи и полета в Java.

Пример:

class MyClass {
    companion object {
        val sharedValue = 42
        fun printValue() {
            println("Споделена стойност: $sharedValue")
        }
    }
}

fun main() {
    println(MyClass.sharedValue) // 42
    MyClass.printValue()        // Споделена стойност: 42
}

Тук, sharedValue и printValue са споделени за всички екземпляри на MyClass.