Desafío de repaso
Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 29 de 56.
Desafío
Crear Clases de Muebles Usando Herencia
Tarea 1: Crear una Clase Chair
Crea una clase Chair que extienda de Furniture:
- Usa
super()en el constructor para heredarmaterialycolorde la clase padre - Añade la propiedad:
numberOfLegs - Añade el método:
sit()que devuelva"Sitting on the chair"
Tarea 2: Crear una Clase Table
Crea una clase Table que extienda de Furniture:
- Usa
super()en el constructor para heredarmaterialycolorde la clase padre - Añade la propiedad:
shape - Añade el método:
placeItem()que devuelva"Item placed on table"
Pruébalo tú mismo
import { Furniture } from './furniture.js';
import { Table } from './table.js';
import { Chair } from './chair.js';
// Código de prueba - no modificar
const myChair = new Chair("wood", "brown", 4);
console.log(myChair.describe()); // Debería mostrar "brown wood furniture"
console.log(myChair.numberOfLegs); // Debería mostrar 4
console.log(myChair.sit()); // Debería mostrar "Sitting on the chair"
const myTable = new Table("glass", "clear", "round");
console.log(myTable.describe()); // Debería mostrar "clear glass furniture"
console.log(myTable.shape); // Debería mostrar "round"
console.log(myTable.placeItem()); // Debería mostrar "Item placed on table"Todas las lecciones de Programación Orientada a Objetos
1Objetos y la palabra clave this
Repaso rápido: ObjetosAgregar métodos a los objetosEntendiendo la palabra clave thisFunciones constructorasLa palabra clave newDesafío de repaso7Herencia y la palabra clave extends
HerenciaLa relación "es-un"La palabra clave extendsEl método super()Heredar propiedades y métodosDesafío de repaso13Composición vs. Herencia
La relación "tiene-un" vs. "es-un"Los límites de la herencia profundaConstrucción de objetos2Organización del código
¿Qué son los módulos?Exportar con exportImportar con importExportaciones por defecto vs. nombradas5Encapsulamiento y Acceso
EncapsulamientoCampos de clase públicos y privadosMétodos privadosDesafío de repaso8Organización del código OOP
Organizar clases en módulos11Proyecto: Un renderizador de figuras
Configuración: Clase Figura y exportaciónHerencia de la clase Círculo14Sistema de Gestión de Biblioteca
Diseño de la BibliotecaClase Libro con Composición9Métodos y propiedades estáticos
Nivel de clase vs. Nivel de instanciaPropiedades estáticasMétodos de utilidad estáticosDesafío de repaso