Funzione di estensione Kotlin

Funzione di estensione Kotlin
A volte lavoriamo con classi in diversi linguaggi di programmazione e utilizziamo il concetto di eredità per l'utilizzo delle funzioni di tali classi. Inoltre, puoi persino usare questo concetto per avere alcune funzionalità aggiuntive diverse dalla classe base. Tuttavia, il linguaggio di programmazione Kotlin ci fornisce un modo diverso di farlo e in questo articolo, cercheremo di esplorare quel metodo.

Qual è lo scopo della funzione di estensione Kotlin?

La funzione di estensione di Kotlin è definita come una funzione derivata da una classe che non è implementata all'interno di quella classe piuttosto che è implementata al di fuori di quella classe. In questo modo, è possibile estendere facilmente la funzionalità di una classe creando una funzione al di fuori dell'ambito di questa classe con la funzionalità desiderata facendo uso del nome della classe. Per comprendere il funzionamento della funzione di estensione di Kotlin, dovrai passare attraverso le sezioni di questo articolo discusso di seguito.

Utilizzando la funzione di estensione Kotlin

Per scoprire come viene utilizzata la funzione di estensione Kotlin in Ubuntu 20.04, puoi chiedere aiuto ai seguenti tre esempi:

Esempio n. 1: utilizzando la funzione di estensione Kotlin con la classe String

In questo esempio, useremo la funzione di estensione con la classe di stringa integrata del linguaggio di programmazione Kotlin. Vogliamo creare una funzione che è in grado di stampare una stringa mentre tronciamo il suo primo e ultimo elemento. Questa funzione non è implementata nella classe String per impostazione predefinita. Pertanto, tenteremo di implementarlo facendo uso della funzione di estensione durante l'utilizzo dello script Kotlin mostrato di seguito:

In questo esempio, abbiamo definito per la prima volta il nome della nostra funzione a partire dal nome della classe I.e., Corda. Abbiamo chiamato la nostra funzione come "Rimuovi InitialandDarchar". Il tipo di ritorno di questa funzione è stringa. Quindi, abbiamo definito la funzionalità di questa funzione con l'affermazione "questo.substring (1, questo.lunghezza-1) ". Qui, la funzione di substring utilizzata è una funzione di classe stringa integrata. Ora, all'interno della nostra funzione "main ()", abbiamo dichiarato una stringa con il nome "Newstring" che vogliamo troncare dall'inizio e dalla fine. Quindi, abbiamo creato una variabile di output a cui abbiamo assegnato il risultato della nostra funzione "Rimuovi InitialandendChar ()" che abbiamo chiamato con la nostra stringa dichiarata. Infine, abbiamo utilizzato un'istruzione "println" per stampare l'output di questa funzione sul terminale.

La compilazione di questo script Kotlin avrà luogo con l'esecuzione del seguente comando:

$ Kotlinc Extension.kt

Quindi, l'esecuzione di questo script avrà luogo eseguendo il comando mostrato di seguito:

$ Kotlin Extensionkt

La nostra stringa dopo aver rimosso il suo primo e ultimo carattere è mostrata nella seguente immagine:

Esempio n. 2: usando la funzione di estensione Kotlin con la classe di elenco mutabile

Questo è un altro esempio dell'uso della funzione di estensione del linguaggio di programmazione Kotlin. Ora proveremo a utilizzare questa funzione con la classe di elenco mutabile del linguaggio di programmazione Kotlin. Lo script di Kotlin mostrato di seguito lo raffigura questo:

In questo script di esempio, volevamo creare una funzione che sarà in grado di scambiare due elementi dati di un elenco. Abbiamo esteso questa funzione dalla classe Elenco mutabile del linguaggio di programmazione Kotlin. La funzione definita accetta due numeri interi i.e., INDICE1 e INDICE2. Inoltre, questa funzione è in grado di restituire l'elenco intero dopo aver scambiato i suoi elementi. All'interno di questa funzione estesa, abbiamo creato un valore denominato "temp" e abbiamo assegnato il primo indice passato a questa funzione.

Quindi, abbiamo assegnato il secondo indice al primo indice. Successivamente, abbiamo assegnato il valore della variabile "temp" al secondo indice. Infine, abbiamo restituito questo elenco di numeri interi. All'interno della nostra funzione "Main ()", abbiamo creato un elenco mutabile assegnato sei elementi interi. Dopodiché, abbiamo stampato gli elementi di questo elenco prima di scambiare. Quindi, volevamo scambiare il secondo elemento di questo elenco con il sesto elemento a causa del quale abbiamo superato gli indici "1" e "5" alla funzione di scambio e abbiamo assegnato il suo risultato al valore "risultato". Infine, abbiamo stampato questo elenco dopo aver scambiato i suoi elementi sul terminale.

L'output di questo script Kotlin è mostrato nella seguente immagine che mostra gli elementi del nostro elenco sia prima che dopo lo scambio.

Esempio n. 3: utilizzando la funzione di estensione Kotlin con una classe definita dall'utente

In questo esempio, utilizzeremo la funzione di estensione con una classe definita dall'utente. Per capirlo, devi dare un'occhiata allo script Kotlin mostrato nell'immagine qui sotto:

In questa sceneggiatura, abbiamo creato per la prima volta una classe denominata "persona". In questa classe, abbiamo una funzione denominata "LifeStatus" che accetta un argomento stringa. All'interno di questa funzione, vogliamo solo informare se una persona è viva o deceduta. Ora vogliamo un'altra funzione che sarà in grado di stampare l'età di una persona. Come puoi vedere, non abbiamo implementato questa funzione all'interno della classe "persona"; Pertanto, lo estenderemo dalla classe "persona".

Abbiamo creato una funzione estesa denominata "età" che prende un argomento intero "età". All'interno di questa funzione, abbiamo semplicemente stampato l'età della persona. Successivamente, abbiamo generato un'istanza della classe "persona" chiamata "P1". Quindi, abbiamo chiamato entrambe le nostre funzioni i.e., "LifeStatus ()" e "Age ()" uno per uno usando questo oggetto.

L'output di questo programma Kotlin è mostrato nella seguente immagine che implica che anche la funzione di estensione di Kotlin funziona perfettamente con le classi definite dall'utente.

Conclusione

In questo articolo, volevamo presentarti il ​​concetto della funzione di estensione nel linguaggio di programmazione Kotlin in Ubuntu 20.04. Dopo aver spiegato lo scopo di base di questa funzione, abbiamo condiviso con voi alcuni esempi in cui abbiamo implementato questa funzione con classi integrate e definite dall'utente a Kotlin. Questo articolo ti aiuterà molto ogni volta che dovrai estendere la funzionalità di qualsiasi classe desiderata a Kotlin.