Desafio de Recapitulação
Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 34 de 56.
Desafio
Você recebeu uma classe ShoppingCart. Sua tarefa é adicionar:
- Propriedades estáticas:
taxRatedefinido como0.08(8% de imposto)currencydefinido como"USD"
- Método estático:
calculateTax(amount)que retornaamount * taxRate
Experimente você mesmo
import { ShoppingCart } from './shoppingCart.js';
// Código de teste - não modifique
console.log(ShoppingCart.currency); // Deve exibir "USD"
console.log(ShoppingCart.calculateTax(100)); // Deve exibir 8 (100 * 0.08)
const cart = new ShoppingCart();
console.log(cart.addItem(25)); // Deve exibir 25
console.log(cart.addItem(50)); // Deve exibir 75
console.log(ShoppingCart.calculateTax(cart.total)); // Deve exibir 6 (75 * 0.08)
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ção9Métodos e Propriedades Estáticos
Nível de Classe vs. Nível de InstânciaPropriedades EstáticasMétodos Utilitários EstáticosDesafio de Recapitulação