Função de extensão Kotlin (com exemplos)

Índice

Neste artigo, você aprenderá a estender uma classe com novas funcionalidades usando funções de extensão.

Suponha que você precise estender uma classe com uma nova funcionalidade. Na maioria das linguagens de programação, você deriva uma nova classe ou usa algum tipo de padrão de design para fazer isso.

No entanto, no Koltin, você também pode usar a função de extensão para estender uma classe com uma nova funcionalidade. Basicamente, uma função de extensão é uma função-membro de uma classe definida fora da classe.

Por exemplo, você precisa usar um método para a classe String que retorna uma nova string com o primeiro e o último caractere removidos; este método ainda não está disponível nas Stringaulas. Você pode usar a função de extensão para realizar esta tarefa.

Exemplo: remover o primeiro e o último caractere da string

 fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1) fun main(args: Array) ( val myString= "Hello Everyone" val result = myString.removeFirstLastChar() println("First character is: $result") )

Quando você executa o programa, a saída será:

 O primeiro personagem é: ello Everyon

Aqui, uma função de extensão removeFirstLastChar ()é adicionada à Stringclasse.

O nome da classe é o tipo de receptor ( Stringclasse em nosso exemplo). A thispalavra-chave dentro da função de extensão se refere ao objeto receptor.

Se você precisar integrar o Kotlin na parte superior do projeto Java, não precisa modificar todo o código para Koltin. Basta usar funções de extensão para adicionar funcionalidades.

Dito isso, é muito fácil abusar do poder das funções de extensão. Recomendamos que você verifique esses recursos para saber quando usar extensões e quando não:

  • Os métodos e propriedades de extensão são ruins?
  • Como abusar das funções de extensão do Kotlin?

Artigos interessantes...