Wie erstellt man einen öffentlichen Getter und einen privaten Setter für eine Eigenschaft in Kotlin?
Hallo! Ich habe gerade angefangen, Kotlin nach Java zu lernen, und bin auf ein Problem gestoßen. In Java war ich es gewohnt, Felder mit einem privaten Setter und einem öffentlichen Getter zu erstellen, um den Zugriff auf Daten zu kontrollieren. Zum Beispiel:
```java
public class User {
private String name;
public String getName() {
return name;
}
private void setName(String name) {
this.name = name;
}
}
```
In Kotlin weiß ich, dass man `var name: String` schreiben kann und automatisch einen Getter und Setter erhält, aber dann sind beide öffentlich. Wenn ich `private var name: String` schreibe, werden beide privat. Wie kann ich in Kotlin erreichen, dass der Getter öffentlich ist (die Eigenschaft von außen lesbar ist) und der Setter privat (der Wert nur innerhalb der Klasse geändert werden kann)?
Ich habe verschiedene Varianten ausprobiert, aber der Compiler meckert. Zum Beispiel habe ich versucht, `public var name: String private set` zu schreiben, aber das funktioniert nicht. Könnt ihr mir sagen, wie es richtig geht? Und wenn möglich, zeigt mir bitte auch ein Beispiel mit Verwendung im Konstruktor.