Función de extensión de Kotlin (con ejemplos)

Tabla de contenido

En este artículo, aprenderá a extender una clase con nueva funcionalidad usando funciones de extensión.

Supongamos que necesita ampliar una clase con nueva funcionalidad. En la mayoría de los lenguajes de programación, se deriva una nueva clase o se utiliza algún tipo de patrón de diseño para hacer esto.

Sin embargo, en Koltin, también puede usar la función de extensión para extender una clase con nueva funcionalidad. Básicamente, una función de extensión es una función miembro de una clase que se define fuera de la clase.

Por ejemplo, necesita utilizar un método para la clase String que devuelva una nueva cadena con el primer y último carácter eliminado; este método aún no está disponible en Stringclase. Puede utilizar la función de extensión para realizar esta tarea.

Ejemplo: eliminar el primer y último carácter de la cadena

 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") )

Cuando ejecute el programa, la salida será:

 El primer personaje es: ello Everyon

Aquí, una función de extensión removeFirstLastChar ()se agrega a la Stringclase.

El nombre de la clase es el tipo de receptor ( Stringclase en nuestro ejemplo). La thispalabra clave dentro de la función de extensión se refiere al objeto receptor.

Si necesita integrar Kotlin en la parte superior del proyecto Java, no necesita modificar todo el código a Koltin. Simplemente use funciones de extensión para agregar funcionalidades.

Dicho esto, es bastante fácil abusar del poder de las funciones de extensión. Le recomendamos que consulte estos recursos para saber cuándo usar extensiones y cuándo no:

  • ¿Son malos los métodos de extensión y las propiedades de extensión?
  • ¿Cómo abusar de las funciones de extensión de Kotlin?

Articulos interesantes...