Menu
Coddy logo textTech

Система товаров для E-commerce

Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 54 из 56.

challenge icon

Задание

Это система товаров для интернет-магазина. У товаров есть цены, а для физических товаров (например, ноутбуков) стоимость доставки рассчитывается на основе их веса. Цифровые товары (например, электронные книги) доставляются бесплатно.

Ваша задача — реализовать недостающие методы в системе товаров:

1: Доработайте класс Product в файле product.js:

  • Добавьте метод getPrice(), который возвращает this.#price
  • Добавьте метод getDescription(), который возвращает ${this.name} - ${this.#price}

2: Доработайте класс PhysicalProduct в файле physicalProduct.js:

  • Добавьте метод calculateShipping(), который:
    • Вычисляет this.weight * 0.5 (50 центов за фунт)
    • Возвращает стоимость доставки

Попробуйте сами

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()); // Должно вывести: "Book - $20"
console.log(laptop.getDescription()); // Должно вывести: "Laptop - $1000  (5 lbs)"

console.log(`Shipping cost for laptop: $${laptop.calculateShipping()}`); // Должно вывести: "Shipping cost for laptop: $2.5"

console.log(`Book price: $${book.getPrice()}`); // Должно вывести: "20"
console.log(`Laptop price: $${laptop.getPrice()}`); // Должно вывести: "1000"

Все уроки раздела Объектно-ориентированное программирование