Desafio de recapitulação
Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 29 de 56.
Desafio
Criar Classes de Móveis Usando Herança
Tarefa 1: Criar uma Classe Chair
Crie uma classe Chair que estenda Furniture:
- Use
super()no construtor para herdarmaterialecolorda classe pai - Adicione a propriedade:
numberOfLegs - Adicione o método:
sit()que retorna"Sitting on the chair"
Tarefa 2: Criar uma Classe Table
Crie uma classe Table que estenda Furniture:
- Use
super()no construtor para herdarmaterialecolorda classe pai - Adicione a propriedade:
shape - Adicione o método:
placeItem()que retorna"Item placed on table"
Experimente você mesmo
import { Furniture } from './furniture.js';
import { Table } from './table.js';
import { Chair } from './chair.js';
// Código de teste - não modifique
const myChair = new Chair("wood", "brown", 4);
console.log(myChair.describe()); // Deve exibir "brown wood furniture"
console.log(myChair.numberOfLegs); // Deve exibir 4
console.log(myChair.sit()); // Deve exibir "Sitting on the chair"
const myTable = new Table("glass", "clear", "round");
console.log(myTable.describe()); // Deve exibir "clear glass furniture"
console.log(myTable.shape); // Deve exibir "round"
console.log(myTable.placeItem()); // Deve exibir "Item placed on table"Todas as lições de Programação Orientada a Objetos
1Objetos e a Palavra-chave this
Revisão Rápida: ObjetosAdicionando Métodos a ObjetosEntendendo a Palavra-chave thisFunções ConstrutorasA Palavra-chave newDesafio de Recapitulação7Herança e a palavra-chave extends
HerançaA relação "é um"A palavra-chave extendsO método super()Herdando propriedades e métodosDesafio de recapitulação10Polimorfismo
O que é Polimorfismo?Sobrescrevendo Métodos HerdadosUsando superDesafio de Recapitulação13Composição vs. Herança
A relação "tem um" vs. "é um"Os limites da herança profundaConstruindo objetos2Organizando o Código
O que são Módulos?Exportando com exportImportando com importExportações Default vs. Nomeadas5Encapsulamento e Acesso
EncapsulamentoCampos de Classe Públicos e PrivadosMétodos PrivadosDesafio de Recapitulação8Organizando Código POO
Organizar Classes em Módulos11Projeto: Um Renderizador de Formas
Configuração: Classe Shape e ExportaçãoHerança da Classe Circle14Sistema de Gerenciamento de Biblioteca
Projetando a BibliotecaClasse Livro com Composição