1
resposta

Extension function x Método

fun InfoGamerJson.criaGamer(): Gamer {
    return Gamer(this.nome, this.email, this.dataNascimento, this.usuario)
}

Pra situação apresentanda na aula, existe alguma vantagem de usar a abordagem de extension function ao invés de um método dentro da classe InfoGamerJson pra conversão de Gamer?

1 resposta

Pelo que entendi o extension function é uma forma mais elegante de transformar o valor que já existe. É como se fosse um companion, porém, você não precisa acessar a classe para transformar, qualquer objeto já tem aquele método nativamente, então é mais fácil de transformar ele em outro diretamente. Eu gosto muito de usar eles em classes que eu não tenho acesso direto, como String, Long etc.