Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

نظام منتجات التجارة الإلكترونية

جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 54 من 56.

challenge icon

التحدي

هذا نظام لمنتجات متجر إلكتروني. المنتجات لها أسعار، والمنتجات المادية (مثل أجهزة الكمبيوتر المحمولة) تحسب تكلفة الشحن بناءً على وزنها. أما المنتجات الرقمية (مثل الكتب الإلكترونية) فسيكون شحنها مجانياً.

مهمتك هي إكمال الأساليب (methods) المفقودة في نظام المنتجات:

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"

جميع دروس Object Oriented Programming