Junior — Middle
Existe a possibilidade de declarar propriedades fora da definição da classe na linguagem Kotlin?
sobes.tech IA
Resposta da IA
Em Kotlin, as propriedades geralmente são declaradas dentro da definição da classe. No entanto, se precisar adicionar uma propriedade fora da classe, pode usar extensões (propriedades de extensão).
As extensões permitem adicionar novas propriedades ou funções a classes existentes sem alterar o seu código fonte.
Exemplo de uma propriedade de extensão fora da classe:
class User(val name: String)
// Propriedade de extensão fora da classe
val User.firstChar: Char
get() = this.name.first()
fun main() {
val user = User("Anna")
println(user.firstChar) // Vai imprimir 'A'
}
Importante: propriedades de extensão não podem ter estado (campo de suporte), portanto, devem ser calculadas (apenas com um getter ou com um getter e um setter, mas sem campo).
Dessa forma, é possível declarar propriedades fora da definição da classe através de extensões, mas com limitações.