Sobes.tech
Junior — Middle

Môžete vysvetliť rozdiely medzi bežnou triedou a data triedou v programovacom jazyku?

sobes.tech AI

Odpoveď od AI

V programovacích jazycích, ako je Kotlin, sa obyčajná trieda a data class líšia v tom, že data class je určená na ukladanie dát a automaticky generuje užitočné metódy.

Hlavné rozdiely medzi data class a obyčajnou triedou:

  • Automatické generovanie metód: equals(), hashCode(), toString(), copy(), ako aj komponenty na destrukturalizáciu.
  • Konštruktor s parametrami: data class musí mať aspoň jeden parameter v hlavnom konštruktore.
  • Použitie: data class je vhodná pre dátové modely, kde je dôležitá semantika rovnosti podľa obsahu.

Príklad v Kotlin:

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

val user1 = User("Alice", 30)
val user2 = User("Alice", 30)

println(user1 == user2) // true, porovnanie podľa obsahu
println(user1) // User(name=Alice, age=30)

val user3 = user1.copy(age = 31) // vytvorí nový objekt s upraveným vekom

V obyčajnej triede je potrebné tieto metódy implementovať manuálne, čo zvyšuje kód a pravdepodobnosť chýb.