Menu
Coddy logo textTech

Sistema de Produtos de E-commerce

Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 54 de 56.

challenge icon

Desafio

Este é um sistema de produtos de uma loja online. Os produtos têm preços, e os produtos físicos (como laptops) calculam o frete com base no seu peso. Produtos digitais (como ebooks) teriam frete grátis.

Sua tarefa é completar os métodos que faltam no sistema de produtos:

1: Complete a classe Product em product.js:

  • Adicione o método getPrice() que retorna this.#price
  • Adicione o método getDescription() que retorna ${this.name} - ${this.#price}

2: Complete a classe PhysicalProduct em physicalProduct.js:

  • Adicione o método calculateShipping() que:
    • Calcula this.weight * 0.5 (50 centavos por libra)
    • Retorna o custo de frete

Experimente você mesmo

import { Product } from './product.js';
import { PhysicalProduct } from './physicalProduct.js';

const book = new Product('Book', 20);
const laptop = new PhysicalProduct('Laptop', 1000, 5);

console.log(book.getDescription()); // Deve mostrar: "Book - $20"
console.log(laptop.getDescription()); // Deve mostrar: "Laptop - $1000  (5 lbs)"

console.log(`Shipping cost for laptop: $${laptop.calculateShipping()}`); // Deve mostrar: "Shipping cost for laptop: $2.5"

console.log(`Book price: $${book.getPrice()}`); // Deve mostrar: "20"
console.log(`Laptop price: $${laptop.getPrice()}`); // Deve mostrar: "1000"

Todas as lições de Programação Orientada a Objetos