Junior
Millised muutujad võivad olla andmeklassis (data class) kasutusel?
sobes.tech AI
Vastus AI-lt
Andmeklassis võivad olla kasutusel:
val(ainult lugemisomadus): Omadus algatatakse objekti loomisel ja neid ei saa hiljem muuta. See on osa automaatselt genereeritud meetoditest (equals(),hashCode(),toString(),copy).var(muudetav omadus): Omadus võib olla muudetud pärast objekti loomist. Samuti on see osa genereeritud meetoditest.- Klassi keha deklareeritud omadused: Need omadused ei kuulu andmeklassi põhijoonte hulka ega osale standardmeetodite genereerimisel.
Näide:
data class User(
val id: Int, // ainult lugemiseks, põhijoonte osa
var name: String, // muudetav, põhijoonte osa
val creationTime: Long = System.currentTimeMillis() // ainult lugemiseks, vaikimisi väärtusega, põhijoonte osa
) {
val isAdmin: Boolean = false // ainult lugemiseks, ei kuulu põhijoonte hulka, ei sisaldu `equals()`/`hashCode()`/`toString()`-is
}