Sobes.tech
Junior — Middle

Aký je rozdiel medzi dátovou triedou a štandardnou triedou v programovacom jazyku?

sobes.tech AI

Odpoveď od AI

V jazyku Kotlin (Android) je data class (trieda dát) špeciálna trieda určená na ukladanie dát. Hlavný rozdiel oproti bežnej triede je, že prekladač automaticky generuje niekoľko užitočných metód:

  • equals() a hashCode() na porovnávanie objektov podľa obsahu,
  • toString() s informatívnym výstupom,
  • copy() na vytváranie kópií s upravenými poľami,
  • komponenty (component1(), component2(), atď.) na destrukturalizáciu.

Bežná trieda tieto metódy nemá predvolene, je potrebné ich ručne napísať, ak sú potrebné.

Príklad data class:

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

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)
println(user1) // User(name=Alice, age=30)

Takže, data class je vhodná pre dátové modely, kde je dôležitá jednoduchosť a správne porovnanie objektov.