Desafio de Recapitulação
Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 38 de 56.
Desafio
Você recebeu uma classe Shape e duas classes filhas. Complete-as usando conceitos de polimorfismo.
- Na classe
Circle: Sobrescrevadescribe()para retornar:"This is a circle with radius [radius]" - Na classe
Square: Sobrescrevadescribe()para retornar:"This is a square with side [side]"
Experimente você mesmo
import { Shape } from './shapes.js';
import { Circle } from './shapes.js';
import { Square } from './shapes.js';
// Código de teste - não modifique
const circle = new Circle(5);
const square = new Square(10);
console.log(circle.describe()); // Esperado: "This is a circle with radius 5"
console.log(square.describe()); // Esperado: "This is a square with side 10"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