Завдання: Реалізація статичних властивостей і методів у класі
Свайпніть щоб показати меню
Завдання
Уявіть, що ви створюєте систему керування інвентарем для інтернет-магазину. Клас Product має відстежувати загальну кількість доданих до інвентаря продуктів, а також надавати функціонал для порівняння цін двох продуктів.
- Визначення статичної властивості:
- У класі
Productстворіть статичну властивістьtotalProducts, ініціалізовану значенням0; - Кожного разу, коли створюється новий екземпляр
Product, збільшуйтеtotalProductsна 1, щоб відстежувати кількість доданих до інвентаря продуктів.
- У класі
- Визначення статичного методу: Визначте статичний метод
comparePrices(product1, product2), який приймає два екземпляриProductяк параметри та повертає:"Product 1 is more expensive", якщо цінаproduct1вища;"Product 2 is more expensive", якщо цінаproduct2вища;"Both products have the same price", якщо ціни однакові.
12345678910111213141516171819202122232425262728293031class Product { _____ _____ = 0; // Define static property for total products constructor(name, price) { this.name = name; this.price = price; Product._____+=1; // Increment totalProducts } // Static method to compare prices _____ comparePrices(product1, product2) { if (product1.price > product2.price) { return _____; } else if (_____ < _____) { return _____; } else { return 'Both products have the same price'; } } } // Testing const product1 = new Product('Laptop', 1200); const product2 = new Product('Smartphone', 800); const product3 = new Product('Tablet', 1200); console.log(Product.comparePrices(product1, product2)); // Expected: Product 1 is more expensive console.log(Product.comparePrices(product1, product3)); // Expected: Both products have the same price console.log(Product.comparePrices(product2, product3)); // Expected: Product 2 is more expensive console.log(Product.totalProducts); // Expected: 3
- Визначте статичну властивість з назвою
totalProductsта ініціалізуйте її значенням0; - У конструкторі збільшуйте
Product.totalProductsна 1 кожного разу, коли створюється новий екземплярProduct; - Визначте статичний метод
comparePrices(product1, product2), який приймає два параметри:product1таproduct2; - У методі
comparePricesвикористовуйте операторif, щоб перевірити, чиproduct1.priceбільше заproduct2.price. Якщо так, поверніть"Product 1 is more expensive"; - Використайте оператор
else if, щоб перевірити, чиproduct1.priceменше заproduct2.price. Якщо так, поверніть"Product 2 is more expensive".
12345678910111213141516171819202122232425262728293031class Product { static totalProducts = 0; // Define static property for total products constructor(name, price) { this.name = name; this.price = price; Product.totalProducts+=1; // Increment totalProducts } // Static method to compare prices static comparePrices(product1, product2) { if (product1.price > product2.price) { return 'Product 1 is more expensive'; } else if (product1.price < product2.price) { return 'Product 2 is more expensive'; } else { return 'Both products have the same price'; } } } // Testing const product1 = new Product('Laptop', 1200); const product2 = new Product('Smartphone', 800); const product3 = new Product('Tablet', 1200); console.log(Product.comparePrices(product1, product2)); // Output: Product 1 is more expensive console.log(Product.comparePrices(product1, product3)); // Output: Both products have the same price console.log(Product.comparePrices(product2, product3)); // Output: Product 2 is more expensive console.log(Product.totalProducts); // Output: 3
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 1. Розділ 13
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Завдання: Реалізація статичних властивостей і методів у класі
Завдання
Уявіть, що ви створюєте систему керування інвентарем для інтернет-магазину. Клас Product має відстежувати загальну кількість доданих до інвентаря продуктів, а також надавати функціонал для порівняння цін двох продуктів.
- Визначення статичної властивості:
- У класі
Productстворіть статичну властивістьtotalProducts, ініціалізовану значенням0; - Кожного разу, коли створюється новий екземпляр
Product, збільшуйтеtotalProductsна 1, щоб відстежувати кількість доданих до інвентаря продуктів.
- У класі
- Визначення статичного методу: Визначте статичний метод
comparePrices(product1, product2), який приймає два екземпляриProductяк параметри та повертає:"Product 1 is more expensive", якщо цінаproduct1вища;"Product 2 is more expensive", якщо цінаproduct2вища;"Both products have the same price", якщо ціни однакові.
12345678910111213141516171819202122232425262728293031class Product { _____ _____ = 0; // Define static property for total products constructor(name, price) { this.name = name; this.price = price; Product._____+=1; // Increment totalProducts } // Static method to compare prices _____ comparePrices(product1, product2) { if (product1.price > product2.price) { return _____; } else if (_____ < _____) { return _____; } else { return 'Both products have the same price'; } } } // Testing const product1 = new Product('Laptop', 1200); const product2 = new Product('Smartphone', 800); const product3 = new Product('Tablet', 1200); console.log(Product.comparePrices(product1, product2)); // Expected: Product 1 is more expensive console.log(Product.comparePrices(product1, product3)); // Expected: Both products have the same price console.log(Product.comparePrices(product2, product3)); // Expected: Product 2 is more expensive console.log(Product.totalProducts); // Expected: 3
- Визначте статичну властивість з назвою
totalProductsта ініціалізуйте її значенням0; - У конструкторі збільшуйте
Product.totalProductsна 1 кожного разу, коли створюється новий екземплярProduct; - Визначте статичний метод
comparePrices(product1, product2), який приймає два параметри:product1таproduct2; - У методі
comparePricesвикористовуйте операторif, щоб перевірити, чиproduct1.priceбільше заproduct2.price. Якщо так, поверніть"Product 1 is more expensive"; - Використайте оператор
else if, щоб перевірити, чиproduct1.priceменше заproduct2.price. Якщо так, поверніть"Product 2 is more expensive".
12345678910111213141516171819202122232425262728293031class Product { static totalProducts = 0; // Define static property for total products constructor(name, price) { this.name = name; this.price = price; Product.totalProducts+=1; // Increment totalProducts } // Static method to compare prices static comparePrices(product1, product2) { if (product1.price > product2.price) { return 'Product 1 is more expensive'; } else if (product1.price < product2.price) { return 'Product 2 is more expensive'; } else { return 'Both products have the same price'; } } } // Testing const product1 = new Product('Laptop', 1200); const product2 = new Product('Smartphone', 800); const product3 = new Product('Tablet', 1200); console.log(Product.comparePrices(product1, product2)); // Output: Product 1 is more expensive console.log(Product.comparePrices(product1, product3)); // Output: Both products have the same price console.log(Product.comparePrices(product2, product3)); // Output: Product 2 is more expensive console.log(Product.totalProducts); // Output: 3
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 1. Розділ 13