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.