Sobes.tech
Junior — Middle

Was ist der Unterschied zwischen einer Data Class und einer Standardklasse in einer Programmiersprache?

sobes.tech KI

Antwort von AI

Im Kotlin (Android) ist eine Datenklasse (data class) eine spezielle Klasse, die zum Speichern von Daten vorgesehen ist. Der Hauptunterschied zu einer normalen Klasse besteht darin, dass der Compiler automatisch mehrere nützliche Methoden für die data class generiert:

  • equals() und hashCode() zum Vergleichen von Objekten anhand ihres Inhalts,
  • toString() mit informativem Output,
  • copy() zum Erstellen von Kopien mit geänderten Feldern,
  • Komponenten (component1(), component2(), etc.) für die Destrukturierung.

Eine normale Klasse hat diese Methoden standardmäßig nicht, sie müssen bei Bedarf manuell geschrieben werden.

Beispiel einer 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)

Daher ist die data class praktisch für Datenmodelle, bei denen Einfachheit und korrekte Objekvergleiche wichtig sind.