Ejercicio de programación con Kotlin: Clases genéricas con varianza y restricciones
Código
0h 10m
Kotlin tipos genéricos y varianza: mejora tus habilidades en programación orientada a objetos con ejercicios prácticos y teóricos asegurando una mejor gestión de tipos.
- Crea una interfaz genérica llamada
Transporte<T>
que declare una funcióncargar(carga: T)
. Esta interfaz representará un medio de transporte que puede cargar objetos de tipoT
. - A continuación, crea una clase
Vehiculo
que implementeTransporte
y que tenga una funcióndescargar(): T
para obtener la carga.- Los vehículos pueden especializarse para transportar diferentes tipos de carga, como
Mercancia
oPasajero
.
- Los vehículos pueden especializarse para transportar diferentes tipos de carga, como
- Además, define una clase genérica
Logistica<T>
que tenga una funciónmover(transporte: Transporte<out T>)
que permita mover la carga de un medio de transporte. - Implementa las siguientes clases concretas:
Mercancia
: representa una mercancía.Pasajero
: representa un pasajero.Camion
: extiendeVehiculo
y transportaMercancia
.Autobus
: extiendeVehiculo
y transportaPasajero
.
- Finalmente, en una función
main
, crea instancias deCamion
yAutobus
, y utiliza una instancia deLogistica
para mover las cargas de ambos vehículos.
Ten en cuenta lo siguiente:
- Utiliza correctamente los parámetros genéricos y las anotaciones de varianza
in
yout
donde sea necesario. - Aplica restricciones en los tipos genéricos para asegurar que cada vehículo solo transporte cargas apropiadas.
- Asegúrate de que el código cumple con la seguridad de tipos en tiempo de compilación.
- Haz todo el código en el mismo archivo kotlin en el editor de la plataforma.
Todos los ejercicios de programación de Kotlin
Evalúa tus conocimientos con ejercicios de programación en Kotlin de tipo Test, Puzzle, Código y Proyecto con VSCode.
Introducción a las corutinas
Test
Uso de asincronía con suspend, async y await
Código
Formateo de cadenas texto
Código
Uso de monads y manejo funcional de errores
Código
Declaración y uso de variables y constantes
Código
Uso de la concurrencia funcional con corutinas
Código
Operaciones en colecciones
Código
Uso de clases y objetos en Kotlin
Puzzle
Evaluación Kotlin
Test
Funciones de orden superior y expresiones lambda en Kotlin
Código
Herencia y polimorfismo en Kotlin
Código
Inmutabilidad y datos inmutables
Código
Uso de funciones parciales y currificaciones
Código
Primer programa en Kotlin
Código
Introducción a la programación funcional
Test
Introducción a Kotlin
Test
Uso de operadores y expresiones
Puzzle
Sistema de inventario de tienda
Proyecto
Uso de data classes y destructuring
Código
Certificados de superación de Kotlin
Supera todos los retos de Kotlin y obtén estos certificados de superación para mejorar tu currículum y tu empleabilidad.
Tutorial para resolver este ejercicio de programación
Kotlin
Tipos genéricos y varianza
Programación Orientada a Objetos