Junior — Middle
Արդյո՞ք օբյեկտ-ընկերն ընդհանուր է բոլոր ստեղծված դասի օրինակների համար։
sobes.tech AI
Պատասխան AI-ից
Այո, Kotlin-ում companion object (հատկանիշ-օբյեկտ) ընդհանուր է բոլոր օրինակների համար։ Դա մի տեսակ singleton է, որը կապված է դասի հետ, ոչ թե կոնկրետ նրա օրինակների հետ։
Companion object-ը թույլ է տալիս սահմանել ֆունկցիաներ և հատկություններ, որոնք կարելի է կանչել առանց դասի օրինակ ստեղծելու, նման Java-ի static մեթոդների և դաշտերի:
Օրինակ՝
class MyClass {
companion object {
val sharedValue = 42
fun printValue() {
println("Կիսված արժեքը: $sharedValue")
}
}
}
fun main() {
println(MyClass.sharedValue) // 42
MyClass.printValue() // Կիսված արժեքը: 42
}
Այստեղ sharedValue և printValue ընդհանուր են բոլոր MyClass օրինակների համար։