Sobes.tech
Junior — Middle

Care este diferența dintre o clasă de date și o clasă standard în limbajul de programare?

sobes.tech AI

Răspuns de la AI

În limbajul Kotlin (Android), o clasă de date (data class) este o clasă specială destinată stocării datelor. Diferența principală față de o clasă obișnuită este că compilatorul generează automat mai multe metode utile pentru data class:

  • equals() și hashCode() pentru compararea obiectelor după conținut,
  • toString() cu o ieșire informativă,
  • copy() pentru crearea de copii cu câmpuri modificate,
  • componente (component1(), component2(), etc.) pentru destrucționare.

O clasă obișnuită nu are aceste metode în mod implicit, trebuie scrise manual dacă sunt necesare.

Exemplu de 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)

Astfel, data class este convenabilă pentru modelele de date în care simplitatea și compararea corectă a obiectelor sunt importante.