Solución

@ronaldvallejos_86192323·27/5/2026TypeScript
solution.tsTypeScript
class Animal {
  name: string;
  constructor (name: string) {
    this.name = name;
  }
  sound () {
    return '...';
  }
}

class Dog extends Animal {
  sound() {
    return 'Guau';
  }
}

class Cat extends Animal {
  sound() {
    return 'Miau';
  }
}

export function makeSound(type: 'dog' | 'cat', name: string): string {
  const animales = { dog: Dog, cat: Cat };
  let instance = new animales[type](name);

  if (type === 'dog') {
    instance = new Dog(name);
  } else {
    instance = new Cat(name);
  }
  // Crea la instancia correspondiente y retorna la descripción del sonido
  return `${instance.name} dice ${instance.sound()}`;
}
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.