Menu
Coddy logo textTech

Sistema di prodotti per e-commerce

Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 54 di 56.

challenge icon

Sfida

Questo è un sistema di prodotti per un negozio online. I prodotti hanno prezzi e i prodotti fisici (come i laptop) calcolano le spese di spedizione in base al loro peso. I prodotti digitali (come gli ebook) avrebbero la spedizione gratuita.

Il tuo compito è completare i metodi mancanti nel sistema di prodotti:

1: Completa la classe Product in product.js:

  • Aggiungi il metodo getPrice() che restituisce this.#price
  • Aggiungi il metodo getDescription() che restituisce ${this.name} - $${this.#price}

2: Completa la classe PhysicalProduct in physicalProduct.js:

  • Aggiungi il metodo calculateShipping() che:
    • Calcola this.weight * 0.5 (50 centesimi per libbra)
    • Restituisce il costo di spedizione

Provalo tu

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

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

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

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore JavaScript online