Translate

miércoles, 14 de noviembre de 2018

Extension functions en Kotlin

Si ya se "Extension functions" esta en ingles pero no sabia como traducirlo. Pero si vamos al grano, es solo un nombre. El concepto es muy simple: Kotlin permite extender clases existentes.

Es decir puedo tomar una lista o un String o un Entero o la clase que sea y agregarle un método, veamos un ejemplo con String :

fun String.removeFirstLastChar(): String =  this.substring(1, this.length - 1)

Entonces ahora String tendrá un nuevo método, y lo llamamos de esta manera: 

fun main(args: Array<String>) {
    val myString= "Hello Everyone"
    val result = myString.removeFirstLastChar()
    println("First character is: $result")
}

Si queremos aprovechar estas extensiones solo tenemos que importar el .java donde se programaron las extensiones. Y de esta manera nos ahorramos de tener clases Utils que agregan funcionalidad a clases del sdk.