Wie überschreibe ich einen Getter für ein Feld einer data class in Kotlin?
Hallo zusammen! Ich lerne Kotlin und bin bei der Arbeit mit data class auf ein Problem gestoßen. \n\nIch habe eine einfache data class zum Speichern von Benutzerinformationen:\n\n```kotlin\ndata class User(\n val firstName: String,\n val lastName: String,\n val age: Int\n)\n```\n\nIch möchte ein berechnetes Feld `fullName` hinzufügen, das `"$firstName $lastName"` zurückgibt. Ich dachte, ich könnte einfach den Getter für das Feld überschreiben, aber der Compiler meckert, wenn ich so etwas versuche:\n\n```kotlin\ndata class User(\n val firstName: String,\n val lastName: String,\n val age: Int\n) {\n val fullName: String\n get() = "$firstName $lastName"\n}\n```\n\nDas funktioniert, aber ich möchte, dass `fullName` Teil des Konstruktors der data class ist und trotzdem einen benutzerdefinierten Getter hat. Zum Beispiel möchte ich `firstName` und `lastName` an den Konstruktor übergeben, während `fullName` automatisch berechnet wird.\n\nIch habe verschiedene Varianten ausprobiert, bekomme aber Compiler-Fehler. Wie überschreibe ich richtig einen Getter für ein Feld in einer data class?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen