Avatar ·

Como criar um getter público e um setter privado para uma propriedade em Kotlin?

Olá! Comecei a aprender Kotlin depois de Java e me deparei com um problema. Em Java, eu costumava criar campos com setter privado e getter público para controlar o acesso aos dados. Por exemplo: ```java public class User { private String name; public String getName() { return name; } private void setName(String name) { this.name = name; } } ``` Em Kotlin, sei que posso escrever `var name: String` e obter automaticamente getter e setter, mas ambos serão públicos. Se eu escrever `private var name: String`, ambos se tornam privados. Como fazer em Kotlin para que o getter seja público (a propriedade possa ser lida externamente) e o setter seja privado (o valor só possa ser alterado dentro da classe)? Tentei várias opções, mas o compilador reclama. Por exemplo, tentei escrever `public var name: String private set`, mas não funciona. Pode me mostrar como fazer corretamente? E, se possível, mostre um exemplo usando no construtor.