Composición
JavaScript · Unidad 13: Herencia
- Plan completo
- JavaScript
- 10 ejercicios
Heredar dice "es un": un perro es un animal. Pero muchas veces la relación es "tiene un": un auto tiene un motor. Eso no se hereda. El auto guarda un objeto Motor en una propiedad, y así lo usa. A esto se le llama composición.
class Motor {
constructor(hp) {
this.hp = hp;
}
encender() {
return "brrrum";
}
}
class Auto {
constructor(hp) {
this.motor = new Motor(hp);
}
}
const a = new Auto(120);
console.log(a.motor.hp);
console.log(a.motor.encender());Imprime
120 brrrum
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. Opción múltiple
¿En cuál par la relación es "tiene un" y no "es un"?
2. Predice la salida
¿Qué imprime este código?
3. Encuentra el bug
Este programa debería imprimir "brrrum". ¿Qué línea tiene el error?
4. Completa el código
Completa para que la bici avise usando su bocina.
5. Predice la salida
Una playlist tiene canciones. ¿Qué imprime?
6. Opción múltiple
Valeria escribió
class Auto extends Motor. ¿Qué problema tiene?7. Ordena las líneas
El control remoto tiene una pila, que le llega al crearlo. Ordena el programa para que muestre la carga.
Pilay el constructor caben en un renglón.8. Predice la salida
A la lámpara le cambian el foco. ¿Qué imprime?
9. Encuentra el caso que falla
promedioEquipo(goles)ficha unJugadorpor cada número del arreglo y regresa el promedio de goles del equipo, o 0 si no hay jugadores. ¿Con qué llamada falla?10. Predice la salida
Un equipo tiene jugadores, y uno es portero. ¿Qué imprime?
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.