Bom dia galera. Quero usar o set que o próprio Kotlin me fornece, mas gostaria de retornar um Boolean. Nesse caso, se eu quiser que o set tenha algum retorno, devo explicitamente criar o setX?
Bom dia galera. Quero usar o set que o próprio Kotlin me fornece, mas gostaria de retornar um Boolean. Nesse caso, se eu quiser que o set tenha algum retorno, devo explicitamente criar o setX?
Olá Olmir!
No Kotlin, quando você utiliza a propriedade set
, você pode retornar um booleano dentro do bloco de código do set
para indicar se a atribuição do valor foi bem-sucedida ou não. Não é necessário criar um método setX
explicitamente.
Por exemplo, suponha que você tenha uma classe Pessoa
com uma propriedade idade
. Você pode definir o set
da propriedade idade
da seguinte forma:
var idade: Int = 0
set(value) {
if (value >= 0) {
field = value
return true
} else {
return false
}
}
Nesse exemplo, se o valor atribuído à propriedade idade
for maior ou igual a zero, ele será atribuído à variável field
(que é o valor real da propriedade) e o set
retornará true
. Caso contrário, o set
retornará false
.
Dessa forma, ao atribuir um valor à propriedade idade
, você pode verificar se a atribuição foi bem-sucedida ou não. Por exemplo:
val pessoa = Pessoa()
val atribuicaoBemSucedida = pessoa.idade = 25
if (atribuicaoBemSucedida) {
println("Idade atribuída com sucesso!")
} else {
println("Idade inválida!")
}
Espero ter ajudado e bons estudos!