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()ahashCode()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.