Menu
CoddyTech

Hệ thống sản phẩm thương mại điện tử

Thuộc phần Lập trình hướng đối tượng trong hành trình JavaScript của Coddy. Bài học 54 trên 56.

challenge icon

Thử thách

Đây là hệ thống sản phẩm của một cửa hàng trực tuyến. Sản phẩm có giá, còn sản phẩm vật lý như máy tính xách tay tính phí vận chuyển dựa trên trọng lượng. Sản phẩm kỹ thuật số như sách điện tử sẽ được miễn phí vận chuyển.

Nhiệm vụ của bạn là hoàn thành các phương thức còn thiếu trong hệ thống sản phẩm:

1: Hoàn thành lớp Product trong product.js:

  • Thêm phương thức getPrice() trả về this.#price
  • Thêm phương thức getDescription() trả về ${this.name} - $${this.#price}

2: Hoàn thành lớp PhysicalProduct trong physicalProduct.js:

  • Thêm phương thức calculateShipping() để:
    • Tính this.weight * 0.5 (50 xu mỗi pound)
    • Trả về phí vận chuyển

Tự làm thử

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()); // Sẽ hiển thị: "Book - $20"
console.log(laptop.getDescription()); // Sẽ hiển thị: "Laptop - $1000  (5 lbs)"

console.log(`Shipping cost for laptop: $${laptop.calculateShipping()}`); // Sẽ hiển thị: "Shipping cost for laptop: $2.5"

console.log(`Book price: $${book.getPrice()}`); // Sẽ hiển thị: "20"
console.log(`Laptop price: $${laptop.getPrice()}`); // Sẽ hiển thị: "1000"

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch JavaScript online