Menu
Coddy logo textTech

System produktów e-commerce

Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 54 z 56.

challenge icon

Wyzwanie

To system produktów sklepu internetowego. Produkty mają ceny, a produkty fizyczne (takie jak laptopy) obliczają koszt wysyłki na podstawie swojej wagi. Produkty cyfrowe (takie jak e-booki) miałyby darmową wysyłkę.

Twoim zadaniem jest uzupełnienie brakujących metod w systemie produktów:

1: Uzupełnij klasę Product w pliku product.js:

  • Dodaj metodę getPrice(), która zwraca this.#price
  • Dodaj metodę getDescription(), która zwraca ${this.name} - $${this.#price}

2: Uzupełnij klasę PhysicalProduct w pliku physicalProduct.js:

  • Dodaj metodę calculateShipping(), która:
    • Oblicza this.weight * 0.5 (50 centów za funt)
    • Zwraca koszt wysyłki

Spróbuj swoich sił

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()); // Powinno wyświetlić: "Book - $20"
console.log(laptop.getDescription()); // Powinno wyświetlić: "Laptop - $1000  (5 lbs)"

console.log(`Shipping cost for laptop: $${laptop.calculateShipping()}`); // Powinno wyświetlić: "Shipping cost for laptop: $2.5"

console.log(`Book price: $${book.getPrice()}`); // Powinno wyświetlić: "20"
console.log(`Laptop price: $${laptop.getPrice()}`); // Powinno wyświetlić: "1000"

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator JavaScript online