Junior
Kokios kintamosios gali būti naudojamos duomenų klasėje (data class)?
sobes.tech AI
Atsakymas iš AI
Duomenų klasėje gali būti naudojami:
val(tik skaitymo savybė): Savybė yra inicijuojama kuriant objektą ir vėliau negali būti keičiama. Ji yra automatiškai generuojamų metodų (equals(),hashCode(),toString(),copy()) dalis.var(keičiamoji savybė): Savybė gali būti pakeista po objekto sukūrimo. Taip pat ji yra generuojamų metodų dalis.- Savybės, deklaruotos klasės kūne: Šios savybės nėra pagrindinių duomenų klasės savybių dalis ir nedalyvauja standartinių metodų generavime.
Pavyzdys:
data class User(
val id: Int, // tik skaitymui, pagrindinių savybių dalis
var name: String, // keičiamoji, pagrindinių savybių dalis
val creationTime: Long = System.currentTimeMillis() // tik skaitymui, su numatytąja verte, pagrindinių savybių dalis
) {
val isAdmin: Boolean = false // tik skaitymui, nėra pagrindinių savybių dalis, neįtraukiama į `equals()`/`hashCode()`/`toString()`
}