Kotlin: Wie man einen öffentlichen Getter, aber einen privaten Setter für eine Eigenschaft erstellt?
Hallo! Ich habe gerade angefangen, Kotlin zu lernen und wechsle von Java. In Java war ich es gewohnt, Felder mit einem privaten Setter und einem öffentlichen Getter zu erstellen, zum Beispiel:
```java
private String name;
public String getName() {
return name;
}
private void setName(String name) {
this.name = name;
}
```
Aber in Kotlin sehe ich, dass Eigenschaften (var) automatisch sowohl einen Getter als auch einen Setter erstellen. Wenn ich `var name: String` schreibe, werden sowohl Getter als auch Setter öffentlich. Und wenn ich `val name: String` verwende, ist die Eigenschaft schreibgeschützt – es gibt überhaupt keinen Setter.
Ich brauche, dass die Eigenschaft von überall gelesen werden kann (öffentlicher Getter), aber ihr Wert nur innerhalb der Klasse geändert werden kann (privater Setter). Wie mache ich das richtig in Kotlin?
Ich habe versucht, `private var name: String` zu schreiben, aber dann wird auch der Getter privat, und ich kann die Eigenschaft nicht von außen lesen. Ich habe verschiedene Kombinationen von Zugriffsmodifikatoren vor `var` und innerhalb von `set` ausprobiert, aber ich bin verwirrt.
Bitte sagen Sie mir, wie ich eine Eigenschaft mit einem öffentlichen Getter und einem privaten Setter deklarieren kann.