Icono del sitio Develou

Clases En Kotlin

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:

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

class Supervisor {
    /**Cuerpo de clase**/
}

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

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

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

Métodos

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
    }
}

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

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

plane.x

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

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.

Salir de la versión móvil