Função de extensão Kotlin

Função de extensão Kotlin
Às vezes, trabalhamos com classes em diferentes linguagens de programação e usamos o conceito de herança para usar as funções dessas classes. Além disso, você pode até usar esse conceito para ter alguma funcionalidade adicional diferente da classe base. No entanto, a linguagem de programação Kotlin nos fornece uma maneira diferente de fazê -lo e neste artigo, tentaremos explorar esse método.

Qual é o objetivo da função de extensão de Kotlin?

A função de extensão de Kotlin é definida como uma função derivada de uma classe que não é implementada nessa classe, e é implementada fora dessa classe. Dessa forma, você pode estender facilmente a funcionalidade de uma classe criando uma função fora do escopo desta classe com a funcionalidade desejada, usando o nome da classe. Para entender o funcionamento da função de extensão de Kotlin, você terá que passar pelas seções deste artigo discutidas abaixo.

Usando a função de extensão Kotlin

Para saber como a função de extensão Kotlin é usada no Ubuntu 20.04, você pode receber ajuda dos três exemplos a seguir:

Exemplo # 1: Usando a função de extensão Kotlin com a classe String

Neste exemplo, usaremos a função de extensão com a classe String integrada da linguagem de programação Kotlin. Queremos criar uma função capaz de imprimir uma string enquanto truncando seu primeiro e último elemento. Esta função não é implementada na classe String por padrão. Portanto, tentaremos implementá -lo usando a função de extensão ao usar o script Kotlin mostrado abaixo:

Neste exemplo, primeiro definimos o nome de nossa função começando com o nome da classe I.e., Corda. Nomeamos nossa função como "RemofinitialAndendchar". O tipo de retorno desta função é string. Em seguida, definimos a funcionalidade dessa função com a afirmação “Este.substring (1, este.comprimento-1) ". Aqui, a função de substring usada é uma função de classe de string integrada. Agora, dentro da nossa função "Main ()", declaramos uma string com o nome "Newstring" que queremos truncar desde o início e o fim. Em seguida, criamos uma variável de saída para a qual atribuímos o resultado de nossa função "RemoneInitialAndendchar ()", que chamamos com nossa string declarada. Finalmente, usamos uma declaração "println" para imprimir a saída desta função no terminal.

A compilação deste script Kotlin ocorrerá com a execução do seguinte comando:

Extensão $ kotlinc.Kt

Em seguida, a execução deste script ocorrerá executando o comando mostrado abaixo:

$ kotlin ExtensionKt

Nossa string depois de remover seu primeiro e último personagem é mostrada na imagem a seguir:

Exemplo # 2: Usando a função de extensão Kotlin com a classe Mutable List

Este é outro exemplo de uso da função de extensão da linguagem de programação Kotlin. Agora tentaremos usar esta função com a classe Mutable List da linguagem de programação Kotlin. O script Kotlin mostrado abaixo mostra o seguinte:

Neste exemplo de script, queríamos criar uma função capaz de trocar dois elementos de uma lista. Estendemos esta função da classe Mutable List da linguagem de programação Kotlin. A função definida aceita dois números inteiros eu.e., index1 e index2. Além disso, essa função é capaz de devolver a lista inteira depois de trocar seus elementos. Dentro dessa função estendida, criamos um valor chamado "Temp" e atribuímos a ele o primeiro índice passado a esta função.

Em seguida, atribuímos o segundo índice ao primeiro índice. Depois disso, atribuímos o valor da variável "Temp" para o segundo índice. Finalmente, devolvemos esta lista inteira. Dentro da nossa função "main ()", criamos uma lista mutável atribuída a ela seis elementos inteiros. Depois disso, imprimimos os elementos desta lista antes de trocar. Então, queríamos trocar o segundo elemento desta lista com o sexto elemento por causa dos quais passamos os índices "1" e "5" para a função de troca e atribuímos seu resultado ao valor "resultado". Finalmente, imprimimos esta lista depois de trocar seus elementos no terminal.

A saída deste script Kotlin é mostrada na imagem a seguir, que mostra os elementos da nossa lista antes e depois da troca.

Exemplo # 3: Usando a função de extensão Kotlin com uma classe definida pelo usuário

Neste exemplo, usaremos a função de extensão com uma classe definida pelo usuário. Para entender isso, você precisa dar uma olhada no script Kotlin mostrado na imagem abaixo:

Neste script, criamos uma classe chamada "pessoa". Nesta classe, temos uma função chamada "Lifestatus", que aceita um argumento de string. Dentro dessa função, queremos apenas notificar se uma pessoa está viva ou falecida. Agora, queremos outra função que seja capaz de imprimir a idade de uma pessoa. Como você pode ver, não implementamos essa função na classe "Pessoa"; Portanto, vamos estendê -lo da aula de "pessoa".

Criamos uma função estendida chamada "idade" que leva um argumento inteiro "idade". Dentro dessa função, simplesmente imprimimos a idade da pessoa. Depois disso, geramos uma instância da classe "pessoa" chamada "P1". Então, chamamos as duas funções que eu.e., “Lifestatus ()” e “Age ()” um por um usando este objeto.

A saída deste programa Kotlin é mostrada na imagem a seguir, o que implica que a função de extensão de Kotlin funciona perfeitamente bem com as classes definidas pelo usuário também.

Conclusão

Neste artigo, queríamos apresentá -lo ao conceito de função de extensão na linguagem de programação Kotlin no Ubuntu 20.04. Depois de explicar o objetivo básico dessa função, compartilhamos com você alguns exemplos em que implementamos essa função com as classes definidas pelo usuário em Kotlin. Este artigo o ajudará muito sempre que você precisar estender a funcionalidade de qualquer classe desejada em Kotlin.