Saltar al contenido

Polimorfismo

JavaScript · Unidad 13: Herencia

Polimorfismo es que objetos de clases distintas respondan al mismo método, cada uno a su manera. Quien los usa no pregunta cuál es cuál: solo llama al método.

Aquí el ciclo trata igual a todos los avisos, y cada uno se envía como le toca.

class Aviso {
  enviar(t) {
    return `Aviso: ${t}`;
  }
}
class Sms extends Aviso {
  enviar(t) {
    return `SMS: ${t}`;
  }
}
class Correo extends Aviso {
  enviar(t) {
    return `Correo: ${t}`;
  }
}
const avisos = [
  new Sms(),
  new Correo(),
];
for (const a of avisos) {
  console.log(a.enviar("Hola"));
}

Imprime

SMS: Hola
Correo: Hola

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    ¿Qué imprime este código?

  2. 2. Predice la salida

    Con tarjeta se cobra una comisión del 10%. ¿Cuánto se cobra en total?

  3. 3. Predice la salida

    ¿Qué imprime este código?

  4. 4. Completa el código

    Completa para preguntar si p es un Pago.

  5. 5. Encuentra el bug

    Este programa debería imprimir true. ¿Qué línea tiene el error?

  6. 6. Predice la salida

    Mira el orden de las preguntas. ¿Qué imprime?

  7. 7. Opción múltiple

    Diego escribió esta función. Cada animal nuevo le obliga a agregar otro else if. ¿Qué propone el polimorfismo?

  8. 8. Predice la salida

    SinSaldo no define name. ¿Qué imprime?

  9. 9. Ordena las líneas

    Ordena el programa que lanza un error Agotado y, al atraparlo, imprime su mensaje solo si es de ese tipo.

  10. 10. Predice la salida

    La fila del cine. ¿Qué imprime?

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →