Quel est le but de la fonction d'extension de Kotlin?
La fonction d'extension Kotlin est définie comme une fonction dérivée d'une classe qui n'est pas implémentée dans cette classe plutôt qu'elle est implémentée en dehors de cette classe. De cette façon, vous pouvez facilement étendre les fonctionnalités d'une classe en créant une fonction en dehors de la portée de cette classe avec la fonctionnalité souhaitée en utilisant le nom de la classe. Pour comprendre le fonctionnement de la fonction d'extension de Kotlin, vous devrez passer par les sections de cet article discuté ci-dessous.
Utilisation de la fonction d'extension Kotlin
Pour savoir comment la fonction d'extension Kotlin est utilisée dans Ubuntu 20.04, vous pouvez prendre l'aide des trois exemples suivants:
Exemple # 1: Utilisation de la fonction d'extension Kotlin avec la classe de chaîne
Dans cet exemple, nous utiliserons la fonction d'extension avec la classe de chaîne intégrée du langage de programmation Kotlin. Nous voulons créer une fonction capable d'imprimer une chaîne tout en tronquant son premier et dernier élément. Cette fonction n'est pas implémentée dans la classe String par défaut. Par conséquent, nous tenterons de l'implémenter en utilisant la fonction d'extension tout en utilisant le script Kotlin illustré ci-dessous:
Dans cet exemple, nous avons d'abord défini le nom de notre fonction en commençant par le nom de la classe I.e., Chaîne. Nous avons nommé notre fonction comme «RemoveInitialAndendChar». Le type de retour de cette fonction est la chaîne. Ensuite, nous avons défini la fonctionnalité de cette fonction avec la déclaration «ce.substrat (1, ce.longueur-1) ". Ici, la fonction de sous-chaîne utilisée est une fonction de classe de chaîne intégrée. Maintenant, dans notre fonction «main ()», nous avons déclaré une chaîne avec le nom «Newsring» que nous voulons tronquer depuis le début et la fin. Ensuite, nous avons créé une variable de sortie à laquelle nous avons attribué le résultat de notre fonction «RemoveInialAndrendChar ()» que nous avons appelé avec notre chaîne déclarée. Enfin, nous avons utilisé une instruction «println» pour imprimer la sortie de cette fonction sur le terminal.
La compilation de ce script Kotlin aura lieu avec l'exécution de la commande suivante:
$ Kotlincl Extension.ktEnsuite, l'exécution de ce script aura lieu en exécutant la commande illustrée ci-dessous:
$ kotlin extensionktNotre chaîne après avoir supprimé son premier et dernier caractère est indiquée dans l'image suivante:
Exemple n ° 2: Utilisation de la fonction d'extension Kotlin avec la classe de liste mutable
Ceci est un autre exemple de l'utilisation de la fonction d'extension du langage de programmation Kotlin. Nous allons maintenant essayer d'utiliser cette fonction avec la classe de liste mutable du langage de programmation Kotlin. Le script Kotlin illustré ci-dessous illustre ceci:
Dans cet exemple de script, nous voulions créer une fonction qui sera capable d'échanger deux éléments donnés d'une liste. Nous avons étendu cette fonction à partir de la classe de liste mutable du langage de programmation Kotlin. La fonction définie accepte deux entiers i.e., index1 et index2. De plus, cette fonction est capable de retourner la liste des entiers après avoir échangé ses éléments. Dans cette fonction étendue, nous avons créé une valeur nommée «Temp» et lui avons attribué le premier index transmis à cette fonction.
Ensuite, nous avons attribué le deuxième index au premier index. Après cela, nous avons attribué la valeur de la variable «temporaire» au deuxième index. Enfin, nous avons retourné cette liste entier. Dans notre fonction «main ()», nous avons créé une liste mutable qui lui a été attribuée six éléments entiers. Après cela, nous avons imprimé les éléments de cette liste avant d'échanger. Ensuite, nous voulions échanger le deuxième élément de cette liste avec le sixième élément à cause desquels nous avons passé les index «1» et «5» à la fonction d'échange et avons attribué son résultat à la valeur «résultat». Enfin, nous avons imprimé cette liste après avoir échangé ses éléments sur le terminal.
La sortie de ce script Kotlin est affichée dans l'image suivante qui montre les éléments de notre liste avant et après l'échange.
Exemple # 3: Utilisation de la fonction d'extension Kotlin avec une classe définie par l'utilisateur
Dans cet exemple, nous utiliserons la fonction d'extension avec une classe définie par l'utilisateur. Pour comprendre cela, vous devez jeter un œil au script Kotlin indiqué dans l'image ci-dessous:
Dans ce script, nous avons d'abord créé une classe nommée «Personne». Dans cette classe, nous avons une fonction nommée «Lifestatus» qui accepte un argument de chaîne. Dans cette fonction, nous voulons juste informer si une personne est vivante ou décédée. Maintenant, nous voulons une autre fonction qui sera capable d'imprimer l'âge d'une personne. Comme vous pouvez le voir, nous n'avons pas implémenté cette fonction au sein de la classe «personne»; Par conséquent, nous l'étendre à la classe «personne».
Nous avons créé une fonction étendue nommée «Age» qui prend un argument entier «Age». Dans cette fonction, nous avons simplement imprimé l'âge de la personne. Après cela, nous avons généré une instance de la classe «personne» nommée «P1». Ensuite, nous avons appelé nos deux fonctions I.e., «Lifestatus ()» et «Age ()» un par un en utilisant cet objet.
La sortie de ce programme Kotlin est montrée dans l'image suivante qui implique que la fonction d'extension de Kotlin fonctionne parfaitement bien avec les classes définies par l'utilisateur également.
Conclusion
Dans cet article, nous voulions vous présenter le concept de la fonction d'extension dans le langage de programmation Kotlin dans Ubuntu 20.04. Après avoir expliqué l'objectif de base de cette fonction, nous avons partagé avec vous quelques exemples dans lesquels nous avons implémenté cette fonction avec intégrée ainsi qu'avec des classes définies par l'utilisateur à Kotlin. Cet article vous aidera beaucoup chaque fois que vous aurez besoin d'étendre les fonctionnalités de toute classe souhaitée à Kotlin.