Polimorfismo a través de Interfaces

Código
Avanzado
Go
Curso de Go
25 min
75 XP
Actualizado: 01/11/2024

¡Programa y certifícate!

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

Descripción

Implementa polimorfismo mediante interfaces en Go, gestionando diversos animales y sus sonidos en una reserva natural.

Desarrolla un programa de código en GoLang Go que permita gestionar diferentes tipos de animales en una reserva natural. Debes:

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

  • Definir una interfaz llamada Animal que declare un método EmitirSonido() que no reciba parámetros y devuelva un string.
  • Implementar esta interfaz en las estructuras Leon, Lobo y Vaca.
    • La estructura Leon debe tener un campo Nombre de tipo string.
    • La estructura Lobo debe tener un campo Manada de tipo int que indica el número de miembros de su manada.
    • La estructura Vaca debe tener un campo ProduccionLeche de tipo float64 que indica los litros de leche producidos al día.
  • Cada implementación del método EmitirSonido() debe devolver un string que represente el sonido característico del animal junto con información relevante. Por ejemplo: "El león Simba ruge", "El lobo de una manada de 5 miembros aúlla", "La vaca produce muuu y da 20 litros de leche".
  • Crear una función llamada EscucharAnimales que reciba un slice de Animal y, para cada uno, llame a su método EmitirSonido() e imprima el resultado.
  • En la función main, crear instancias de Leon, Lobo y Vaca, agregarlas a un slice de Animal y utilizar EscucharAnimales para simular los sonidos en la reserva natural.

Notas:

  • Utiliza correctamente las interfaces para lograr polimorfismo.
  • No utilices herencia; enfócate en el uso de interfaces para compartir comportamiento.
  • Asegúrate de que los métodos implementen la interfaz correctamente y que el programa compile y se ejecute sin errores.

Solución al ejercicio de programación en Go

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en Go 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 Go

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 Go

⭐⭐⭐⭐⭐
4.9/5 valoración