Alcance De Funciones En Kotlin

ANUNCIO
Loading...

En este tutorial discutiremos sobre el alcance de funciones en Kotlin y cómo puedes declararlas en nivel superior, a nivel de clase y a nivel local.

Funciones De Nivel Superior

Las funciones de nivel superior pueden ser ejecutadas desde cualquier parte del proyecto. Estas son declaradas en un archivo Kotlin sin necesidad de una clase explicita que las contenga.

Por ejemplo:

Crea un nuevo proyecto en IntelliJ IDEA.

Añade un nuevo archivo Kotlin llamado TopLevelPrint.kt. Declara una función de nivel superior que imprima el mensaje «Función de nivel superior».

fun topLevelPrint() = println("Función de nivel superior")
Lenguaje del código: Kotlin (kotlin)

Crea un segundo archivo Kotlin llamado FunctionScope.kt y ejecuta desde la función main() la función topLevelPrint().

fun main(){ topLevelPrint() }
Lenguaje del código: Kotlin (kotlin)

El resultado sería la impresión de la cadena:

Función de nivel superior

Con este ejemplo puedes evidenciar el alcance de nivel superior de la función y como desde otro archivo es posible ver su existencia.

Funciones Miembro

Son funciones que se declaran a nivel de una clase (por escribir) u objeto (por escribir). Esto quiere decir, que se reduce la visibilidad de la función a la clase que pertenezca.

Por ejemplo:

Declara una clase llamada Print en FunctionScope.kt. Defínele un método que imprima el mensaje «Función miembro».

Luego, crea una instancia de la misma en main() y llama a su método a través de la notación instancia.metodo().

class Print{ fun memberPrint() = println("Función miembro") } fun main(){ Print().memberPrint() }
Lenguaje del código: Kotlin (kotlin)

El resultado en consola sería:

Función miembro

Funciones Locales

Una función local es aquella que se declara dentro de otra. Esto quiere decir que solo puede ser llamada desde la función contenedora.

Prosiguiendo con nuestro ejemplo.

Declara una función de una sola expresión llamada localPrint() al interior de main() en FunctionScope.kt. Su objetivo será imprimir el mensaje «Función local». Ejecútala inmediatamente luego de su declaración.

fun main(){ fun localPrint()= println("Función local") localPrint() }
Lenguaje del código: Kotlin (kotlin)

Como salida tendrás:

Función local

¿Ha sido útil esta publicación?

ANUNCIO
Loading...