Menu
Coddy logo textTech

Sistema de productos de E-commerce

Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 54 de 56.

challenge icon

Desafío

Este es un sistema de productos de una tienda en línea. Los productos tienen precios, y los productos físicos (como las laptops) calculan el envío basándose en su peso. Los productos digitales (como los ebooks) tendrían envío gratuito.

Tu tarea es completar los métodos que faltan en el sistema de productos:

1: Completa la clase Product en product.js:

  • Añade el método getPrice() que devuelva this.#price
  • Añade el método getDescription() que devuelva ${this.name} - ${this.#price}

2: Completa la clase PhysicalProduct en physicalProduct.js:

  • Añade el método calculateShipping() que:
    • Calcule this.weight * 0.5 (50 centavos por libra)
    • Devuelva el costo de envío

Pruébalo tú mismo

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()); // Debería mostrar: "Book - $20"
console.log(laptop.getDescription()); // Debería mostrar: "Laptop - $1000  (5 lbs)"

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

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

Todas las lecciones de Programación Orientada a Objetos