Comment créer un getter public et un setter privé pour une propriété en Kotlin ?
Bonjour ! Je viens de commencer à apprendre Kotlin après Java et j'ai rencontré un problème. En Java, j'avais l'habitude de créer des champs avec un setter privé et un getter public pour contrôler l'accès aux données. Par exemple :
```java
public class User {
private String name;
public String getName() {
return name;
}
private void setName(String name) {
this.name = name;
}
}
```
En Kotlin, je sais qu'on peut écrire `var name: String` et obtenir automatiquement un getter et un setter, mais alors les deux sont publics. Si j'écris `private var name: String`, les deux deviennent privés. Comment faire en Kotlin pour que le getter soit public (on peut lire la propriété de l'extérieur) et le setter privé (modifier la valeur uniquement à l'intérieur de la classe) ?
J'ai essayé différentes options, mais le compilateur se plaint. Par exemple, j'ai essayé d'écrire `public var name: String private set`, mais ça ne fonctionne pas. Pouvez-vous me dire comment faire correctement ? Et aussi, si possible, montrez un exemple avec utilisation dans le constructeur.