Entradas

Clase de enumeración o enum class en Kotlin

Imagen
Además de data class ( Clase de datos o data class en Kotlin ), otro tipo especial de clase en Kotlin es la enum class , que se utiliza para definir un conjunto de constantes y se declara anteponiendo la palabra enum :

Clase de datos o data class en Kotlin

Imagen
Es habitual crear una clase con el propósito principal de mantener o almacenar ciertos datos de los objetos de esa clase, y en estos casos se puede marcar la clase anteponiendo la palabra data para crear un tipo específico de clase conocida como clase de datos ( data class ):

Modificadores de visibilidad o accesibilidad

Imagen
En Kotlin todo es público, a menos que definas que no debe serlo utilizando un modificador de visibilidad . Estos modificadores establecen la visibilidad o accesibilidad de los elementos a los que se aplican, que pueden ser clases, objetos, interfaces, constructores, funciones, propiedades y los métodos set de las propiedades (los métodos get tienen siempre la misma visibilidad que la propiedad). En Kotlin existen cuatro modificadores de visibilidad: public (el predeterminado si no se utiliza ningún modificador explícito), private , protected e internal , que se pueden aplicar en declaraciones tanto a nivel superior (excepto protected ) como dentro de una clase. Vamos a revisar ambos casos. Al utilizar estos modificadores sobre declaraciones en el nivel superior de un archivo, es decir, directamente dentro de un paquete, cada uno de ellos tiene un efecto sobre la visibilidad de dicha declaración: public : las declaraciones son visibles en todas partes (por defecto, por l...

Ejemplo de interface para calcular área y perímetro de polígonos

Imagen
Para apoyar el contenido expuesto en la entrada Introducción a las interfaces en Kotlin , el siguiente programa expone un ejemplo sencillo del uso de interface aplicado al cálculo del perímetro y del área en distintos tipos de figuras geométricas. En el código siguiente vemos que a partir de una interface ('Poligono') con una propiedad y métodos abstractos además de un método concreto (implementado), se crean dos clases ('Cuadrado' y 'Rectangulo') que implementan la interfaz, y por tanto ambas deben implementar la propiedad y métodos abstractos de esa interfaz. Una vez que se crean instancias de esas clases ('cuadrado1' y 'rectangulo1'), ambos objetos llaman a una función ('mostrarDatos') que recibe como parámetros la interface y un número variable de argumentos (ya vimos el modificador vararg en Introducción a las funciones en Kotlin ). Desde esta función el objeto llama tanto a las propiedades y métodos sobrescritos por cada cl...

Introducción a las interfaces en Kotlin

Imagen
Una interfaz es un conjunto de métodos que indican a los objetos qué hacer y cómo hacerlo de forma predeterminada. Podemos entender que una interfaz es como un contrato con unas cláusulas que obligan a las clases que firman o implementan esa interfaz. Las interfaces en Kotlin permiten una importante reutilización de código declarando una serie de métodos y propiedades que deben ser implementados luego por una o más clases puesto que resultan inútiles sin uno o más implementadores. De alguna manera, las interfaces vienen a suplir la imposibilidad de herencia múltiple en Kotlin. Y al igual que las clases abstractas , las interfaces en Kotlin pueden contener tanto métodos abstractos como métodos implementados, pero a diferencia de aquellas no pueden almacenar ningún estado. Esto quiere decir que no podemos crear una propiedad e inicializarla en la misma interfaz; si definimos una propiedad en una interfaz, la clase que la implemente debe sobrescribirla. Las interfaces se definen ...