Page 40 - Revista FIUDE 2018
P. 40
Revista de la Facultad de Ingeniería, Año 5, Número 1de Ingeniería, Año 5, Número 1
o
ofrece guías y tutoriales para los que deseen aprender.frece guías y tutoriales para los que deseen aprender.
Empresas como Pinterest, Basecamp, KeepSafe, Uber, Attlasian lo usan en sus mpresas como Pinterest, Basecamp, KeepSafe, Uber, Attlasian lo usan en sus mpresas como Pinterest, Basecamp, KeepSafe, Uber, Attlasian lo usan en sus
E E
productos o sus ambientes. bientes. Por lo que lo podemos considerar como un lenguaje Por lo que lo podemos considerar como un lenguaje
d
diseñado para resolver problemas reales.iseñado para resolver problemas reales.
Sintaxis
Ahora, para introducirnos en su sintaxis vamhora, para introducirnos en su sintaxis vamos a hacer un programa sencillo;os a hacer un programa sencillo;
A
nuestro objetivo será obtener el estudiante con mayor calificación de un listado. uestro objetivo será obtener el estudiante con mayor calificación de un listado. uestro objetivo será obtener el estudiante con mayor calificación de un listado.
n n
L
Los datos que manejaremos de los estudiantes serán dos: “os datos que manejaremos de los estudiantes serán dos: “nombre”nombre” y “puntaje”.
El resultado lo podemos ver en la figura 3.l resultado lo podemos ver en la figura 3.
E
Figura 3. Programa en Kotlin para obtener el igura 3. Programa en Kotlin para obtener el estudiante con mayor puntaje de un listadoestudiante con mayor puntaje de un listado
F
L
La salida de este programa es la siguiente:a salida de este programa es la siguiente:
El mayor puntaje en Kotlin es de: EstudianteKotlin (nombre=Marco, puntaje=12)l mayor puntaje en Kotlin es de: EstudianteKotlin (nombre=Marco, puntaje=12)l mayor puntaje en Kotlin es de: EstudianteKotlin (nombre=Marco, puntaje=12)
E E
Ahora describiremos lo que sucede línea por línea:hora describiremos lo que sucede línea por línea:
A
L1: Tenemos la declaración del paquetTenemos la declaración del paquete y aunque parece similar a Java podemos e y aunque parece similar a Java podemos
observar que no hay “;” al final, esto es porque en Kotlin el uso de “;” es opcional.bservar que no hay “;” al final, esto es porque en Kotlin el uso de “;” es opcional.bservar que no hay “;” al final, esto es porque en Kotlin el uso de “;” es opcional.
o o
8
L3-L4: En este bloque tenemos la declaración de una En este bloque tenemos la declaración de una data classdata class , esta es un tipo de
clase que podemos usar para almacenar datos. lase que podemos usar para almacenar datos. La podemos comparar con un Java La podemos comparar con un Java
c
9
10
Bean o un DTO donde el compilador genera por nosotros el constructor primario, donde el compilador genera por nosotros el constructor primario, donde el compilador genera por nosotros el constructor primario,
métodos hashCode, equalsequals, toString, copy, entre otros.
Otro aspecto importante que vemos es la declaración de propiedades con la palabra te que vemos es la declaración de propiedades con la palabra te que vemos es la declaración de propiedades con la palabra
reservada “val”, con ella declaramos variables de solo lectura que pueden ser ”, con ella declaramos variables de solo lectura que pueden ser ”, con ella declaramos variables de solo lectura que pueden ser
i i inicializadas una sola vez, un efecto similar a lo que se lograría con el uso de la nicializadas una sola vez, un efecto similar a lo que se lograría con el uso de la nicializadas una sola vez, un efecto similar a lo que se lograría con el uso de la
palabra reservada “final” en java” en java, haciéndolas inmutables.
Considerar también que el tipo de la variable se define luego de su declaración, esto onsiderar también que el tipo de la variable se define luego de su declaración, esto onsiderar también que el tipo de la variable se define luego de su declaración, esto
C C
p p
porque se le da prioridad al nombre de las variables con el objetivo de mejorar la orque se le da prioridad al nombre de las variables con el objetivo de mejorar la orque se le da prioridad al nombre de las variables con el objetivo de mejorar la
legibilidad.
Adicionalmente, vemos dos maneras de definir lvemos dos maneras de definir los tipos de datosos tipos de datos: la primera
c
colocándolo directamente como es el caso de olocándolo directamente como es el caso de String, y la otra agregándole un “?” al , y la otra agregándole un “?” al
8
https://kotlinlang.org/docs/reference/datattps://kotlinlang.org/docs/reference/data-classes.html
h
9
http://download.oracle.com/otndocs/jcp/7224ttp://download.oracle.com/otndocs/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec/
h
10
https://martinfowler.com/eaaCatalog/dataTransferObject.htmlttps://martinfowler.com/eaaCatalog/dataTransferObject.html
h
39