Sobes.tech
Junior — Middle

Welke kenmerken en beperkingen bestaan er bij dataklassen in Kotlin?

sobes.tech AI

Antwoord van AI

De data class (gegevensklasse) in Kotlin is bedoeld voor het opslaan van gegevens en biedt automatisch nuttige methoden: equals(), hashCode(), toString(), copy() en destructuratiefuncties.

Kenmerken en beperkingen:

  • De klasse moet minstens één parameter in de constructor hebben.
  • Alle parameters van de constructor, gedeclareerd in de primary constructor, worden automatisch eigenschappen.
  • De klasse kan niet abstract, open, intern zijn of van andere klassen erven (maar kan interfaces implementeren).
  • De compiler genereert methoden alleen voor de eigenschappen gedeclareerd in de constructor, niet voor extra eigenschappen.
  • Het is mogelijk om de gegenereerde methoden te overschrijven als je het gedrag wilt aanpassen.

Voorbeeld:

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

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31) // maakt een nieuw object met gewijzigde leeftijd
println(user1) // User(name=Alice, age=30)