Junior
Milyen változók használhatók adat osztályban (data class)?
sobes.tech MI
Válasz az MI-től
Egy data classban használhatók:
val(csak olvasható tulajdonság): A tulajdonság az objektum létrehozásakor inicializálódik, és később nem módosítható. Része az automatikusan generált metódusoknak (equals(),hashCode(),toString(),copy).var(változtatható tulajdonság): A tulajdonság módosítható az objektum létrehozása után. Szintén része a generált metódusoknak.- A class testében deklarált tulajdonságok: Ezek a tulajdonságok nem részei a data class fő tulajdonságainak, és nem vesznek részt a standard metódusok generálásában.
Példa:
data class User(
val id: Int, // csak olvasható, a fő tulajdonságok része
var name: String, // módosítható, a fő tulajdonságok része
val creationTime: Long = System.currentTimeMillis() // csak olvasható, alapértelmezett értékkel, a fő tulajdonságok része
) {
val isAdmin: Boolean = false // csak olvasható, nem része a fő tulajdonságoknak, nem szerepel az equals/hashCode/toString metódusokban
}