Clases genéricas con varianza y restricciones

Código
Intermedio
Kotlin
Curso de Kotlin
10 min
25 XP
Actualizado: 09/11/2024

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Ejercicio de programación: Clases genéricas con varianza y restricciones

Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en Kotlin. Es un ejercicio de nivel intermedio que requiere conocimientos sólidos de la tecnología.

Tipo: Ejercicio de código 10 minutos estimados 25 puntos de experiencia

Información adicional del ejercicio

Aprende a implementar tipos genéricos y varianza en Kotlin aplicando conceptos de programación orientada a objetos a través de ejercicios prácticos y teóricos.

Contenido del ejercicio

  1. Crea una interfaz genérica llamada Transporte<T> que declare una función cargar(carga: T). Esta interfaz representará un medio de transporte que puede cargar objetos de tipo T.
  2. A continuación, crea una clase Vehiculo que implemente Transporte y que tenga una función descargar(): T para obtener la carga.
    • Los vehículos pueden especializarse para transportar diferentes tipos de carga, como Mercancia o Pasajero.
  3. Además, define una clase genérica Logistica<T> que tenga una función mover(transporte: Transporte<out T>) que permita mover la carga de un medio de transporte.
  4. Implementa las siguientes clases concretas:
    • Mercancia: representa una mercancía.
    • Pasajero: representa un pasajero.
    • Camion: extiende Vehiculo y transporta Mercancia.
    • Autobus: extiende Vehiculo y transporta Pasajero.
  5. Finalmente, en una función main, crea instancias de Camion y Autobus, y utiliza una instancia de Logistica 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 y out 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.

Lección relacionada

Este ejercicio está relacionado con la lección "Tipos genéricos y varianza" de Kotlin. Te recomendamos revisar la lección antes de comenzar.

Ver lección relacionada

Más ejercicios de Kotlin

Explora más ejercicios de programación en Kotlin para mejorar tus habilidades y obtener tu certificación.

Ver más ejercicios de Kotlin

Solución al ejercicio de programación en Kotlin

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en Kotlin para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en Kotlin

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en Kotlin

⭐⭐⭐⭐⭐
4.9/5 valoración