Sobes.tech
Junior — Middle

Aké vlastnosti a obmedzenia majú dátové triedy v Kotlin?

sobes.tech AI

Odpoveď od AI

Dátové triedy (data class) v Kotlin sú určené na ukladanie údajov a automaticky poskytujú užitočné metódy: equals(), hashCode(), toString(), copy() a funkcie na destrukturalizáciu.

Vlastnosti a obmedzenia:

  • Trieda musí mať aspoň jeden parameter v konštruktore.
  • Všetky parametre konštruktora, deklarované v primary constructor, sa automaticky stávajú vlastnosťami.
  • Trieda nemôže byť abstraktná, otvorená, vnútorná alebo dediť z iných tried (ale môže implementovať rozhrania).
  • Kompilátor generuje metódy iba pre vlastnosti deklarované v konštruktore, nie pre ďalšie vlastnosti.
  • Generované metódy je možné prepísať, ak je potrebné zmeniť správanie.

Príklad:

data class User(val name: String, val age: Int)

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31) // vytvorí nový objekt so zmeneným vekom
println(user1) // User(name=Alice, age=30)