Junior
Koje promenljive mogu biti korišćene u klasi podataka (data class)?
sobes.tech АИ
Одговор од АИ
U data class mogu se koristiti:
val(svojstvo samo za čitanje): Svojstvo se inicijalizuje prilikom kreiranja objekta i ne može biti promenjeno naknadno. To je deo automatski generisanih metoda (equals(),hashCode(),toString(),copy).var(promenljivo svojstvo): Svojstvo može biti promenjeno nakon kreiranja objekta. Takođe je deo generisanih metoda.- Svojstva deklarisana u telu klase: Ova svojstva nisu deo glavnih svojstava data klase i ne učestvuju u generisanju standardnih metoda.
Primer:
data class User(
val id: Int, // samo za čitanje, deo glavnih svojstava
var name: String, // promenljivo, deo glavnih svojstava
val creationTime: Long = System.currentTimeMillis() // samo za čitanje, sa podrazumevanom vrednošću, deo glavnih svojstava
) {
val isAdmin: Boolean = false // samo za čitanje, nije deo glavnih svojstava, ne uključuje se u equals/hashCode/toString
}