Avatar ·

Getter und Setter in Kotlin: Wie deklariert und verwendet man Properties mit benutzerdefinierten Accessoren?

Hallo zusammen! Ich habe vor kurzem nach Java angefangen, Kotlin zu lernen, und bin auf ein Verständnisproblem mit Gettern und Settern gestoßen. In Java war ich es gewohnt, Felder explizit mit Zugriffsmodifikatoren zu deklarieren und dann Methoden wie getField() und setField() dafür zu schreiben. In Kotlin ist das, wie ich verstanden habe, ganz anders – es gibt Properties, die automatisch Getter und Setter generieren.

\n\n
// Beispiel aus meinem Versuch\nclass Person {\n    var name: String = "Unknown"\n    var age: Int = 0\n    \n    // Ich versuche, einen benutzerdefinierten Setter für age zu erstellen\n    set(value) {\n        if (value >= 0) {\n            // Wie greife ich hier auf das Feld zu? field? Oder this.age?\n            this.age = value // Führt zu einer Rekursion!\n        } else {\n            println("Das Alter darf nicht negativ sein")\n        }\n