Olá, estudante!
Obrigada por compartilhar sua dúvida sobre o uso do private set
para variáveis no construtor primário em Kotlin.
No Kotlin, quando declaramos uma variável no construtor primário, ela não é automaticamente definida como private
. A visibilidade padrão das variáveis no construtor primário é definida pelo modificador val
ou var
que utilizamos na declaração da variável.
Se utilizarmos val
, a variável será imutável e não poderá ser alterada após a inicialização. Já se utilizarmos var
, a variável será mutável e poderá ser alterada posteriormente.
Por exemplo, se tivermos a seguinte declaração no construtor primário:
class Pessoa(val nome: String, var idade: Int)
A variável nome
será imutável e a variável idade
será mutável. Não é necessário utilizar private set
nesse caso, pois a visibilidade padrão já é adequada para as variáveis.
No entanto, se quisermos restringir o acesso à variável, podemos utilizar private
antes do modificador val
ou var
. Por exemplo:
class Pessoa(private val nome: String, private var idade: Int)
Dessa forma, somente a própria classe terá acesso à variável.
Espero ter esclarecido sua dúvida! Se tiver mais alguma pergunta, é só me dizer. Bons estudos!
Espero ter ajudado e bons estudos!