Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Modificar visibilidade das properties no construtor primário

Olá! Durante a aula me surgiu uma dúvida. Digamos que da mesma forma que a property saldo, eu também quisesse tornar os setters das properties titular e numero. Como eu poderia realizar essa operação, visto que essas properties estão sendo declaradas no construtor primário?

2 respostas

Lucas, você pode remover propriedades do construtor primário de uma data class se achar necessário. Na documentação do Kotlin tem um exemplo desse tipo de comportamento.

data class Person(val name: String) {
    var age: Int = 0
}

De toda forma, como as classes de dados já incorporam comportamentos por padrão (toString, equals), fique ciente que ao remover um parâmetro do construtor primário você perde esses comportamentos para a propriedade em si.

solução!

Olá!

É possível fazer assim:

fun main() {
    val conta = Conta(1001, "John Doe")
    conta.titular = "João" // Não irá permitir
}

class Conta(val numero: Int, titular: String) {
    var titular = titular
        private set    
}