Sobes.tech
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
}