Clases En Kotlin

ANUNCIO
Loading...

En este tutorial te aprenderás sobre el concepto, la declaración e instanciación de clases en Kotlin.

Declaración De Una Clase

Conceptualmente, las clases son el componente medular del paradigma de POO (Programación Orientada A Objetos). En donde representan entidades o conceptos, que hacen parte de un modelo predefinido.

En Kotlin, una clase es una agrupación de propiedades (atributos) y funciones (métodos) miembro, que actúan como una plantilla para la instanciación de objetos.

La declaración de una clase se compone de:

  • Nombre de la clase
  • Cabecera
  • Cuerpo

Para definirla, usa la palabra clave class seguido de su nombre.

class Supervisor { /**Cuerpo de clase**/ }
Lenguaje del código: Kotlin (kotlin)

La anterior declaración está en una forma reducida. Sin embargo, la declaración de la cabecera puede llevar más elementos como:

  • Modificadores
  • Declaración de parámetros
  • Constructor primario
  • Herencia
  • Restricciones de tipo

En la gramática de Kotlin, esos elementos de la cabecera y el bloque de código para el cuerpo son opcionales. Por lo que incluso podrías reducir la declaración a:

class Supervisor
Lenguaje del código: Kotlin (kotlin)

Ejemplo De Declaración De Clase

A continuación verás un ejemplo simple donde puedes aplicar los conceptos básicos de POO y la definición de clases en Kotlin.

Problema

Supón que estamos creando un juego, donde un avión se mueve en dos dimensiones a lo largo de un límite de [300,300]. Su posición inicial debe ser [0,0].

El objetivo es modelar dicho avión, junto a su información de coordenadas y permitir modificarlas dependiendo de la dirección en que se desplaza.

Solución

Al analizar el enunciado, sabrás que la clase Avion (Plane) se estructura así

Atributos

  • Posición en eje x
  • Posición en eje y

Métodos

  • Movimientos hacia la izquierda — Restar la unidad al eje x. Evitar el decremento menor a 0
  • Movimiento hacia la derecha — Sumar la unidad al eje x. Evitar el incremento superior a 300
  • Movimiento hacia arriba — Restar la unidad al eje y. Evitar decrementos menores a 0
  • Movimiento hacia abajo — Sumar la unidad al eje y. Evitar incrementos mayores a 300

La siguiente es una de las posibles soluciones en código, al anterior análisis:

class Plane { var x: Int = 0 private set var y: Int = 0 private set fun moveLeft() { x -= if (x == 0) 0 else 1 } fun moveRight() { x += if (x == 300) 0 else 1 } fun moveUp() { y -= if (y == 0) 0 else 1 } fun moveDown() { y += if (y == 300) 0 else 1 } }
Lenguaje del código: Kotlin (kotlin)

Los atributos x e y se definen como propiedades mutables con var y de tipo Int.

Cada método es una función miembro sin retorno que altera los ejes, a través de una expresión if que bifurca las condiciones del diseño.

Crear Instancias De Clases

Para crear una instancia de una clase, usa una llamada regular de funciones para el constructor.

val plane = Plane()
Lenguaje del código: Kotlin (kotlin)

Puedes acceder a la propiedad miembro con la notación instancia.propiedad.

plane.x
Lenguaje del código: Kotlin (kotlin)

Por ejemplo:

Simular el desplazamiento Derecha > Derecha > Abajo > Arriba > Izquierda de un avión. Luego imprimir su posición final.

fun main() { val plane = Plane() plane.moveRight() plane.moveRight() plane.moveDown() plane.moveUp() plane.moveLeft() println("Posición actual del avión: (${plane.x},${plane.y})") }
Lenguaje del código: Kotlin (kotlin)

La salida en consola será:

Posición actual del avión: (1,0)

¿Qué Sigue?

En este tutorial aprendiste sobre la declaración de clases en Kotlin y como crear instancias de las mismas. Ahora puedes dirigirte al tutorial de constructores de clases.

¿Ha sido útil esta publicación?

ANUNCIO
Loading...