Sobes.tech
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.