Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Завдання: Реалізація статичних властивостей і методів у класі | Володіння Класами Та Наслідуванням У JavaScript
Просунуте Володіння JavaScript

bookЗавдання: Реалізація статичних властивостей і методів у класі

Завдання

Уявіть, що ви створюєте систему керування інвентарем для інтернет-магазину. Клас Product має відстежувати загальну кількість доданих до інвентаря продуктів, а також надавати функціонал для порівняння цін двох продуктів.

  1. Визначення статичної властивості:
    • У класі Product створіть статичну властивість totalProducts, ініціалізовану значенням 0;
    • Кожного разу, коли створюється новий екземпляр Product, збільшуйте totalProducts на 1, щоб відстежувати кількість доданих до інвентаря продуктів.
  2. Визначення статичного методу: Визначте статичний метод comparePrices(product1, product2), який приймає два екземпляри Product як параметри та повертає:
    • "Product 1 is more expensive", якщо ціна product1 вища;
    • "Product 2 is more expensive", якщо ціна product2 вища;
    • "Both products have the same price", якщо ціни однакові.
12345678910111213141516171819202122232425262728293031
class 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
copy
  • Визначте статичну властивість з назвою 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".
12345678910111213141516171819202122232425262728293031
class 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
copy

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 13

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 2.22

bookЗавдання: Реалізація статичних властивостей і методів у класі

Свайпніть щоб показати меню

Завдання

Уявіть, що ви створюєте систему керування інвентарем для інтернет-магазину. Клас Product має відстежувати загальну кількість доданих до інвентаря продуктів, а також надавати функціонал для порівняння цін двох продуктів.

  1. Визначення статичної властивості:
    • У класі Product створіть статичну властивість totalProducts, ініціалізовану значенням 0;
    • Кожного разу, коли створюється новий екземпляр Product, збільшуйте totalProducts на 1, щоб відстежувати кількість доданих до інвентаря продуктів.
  2. Визначення статичного методу: Визначте статичний метод comparePrices(product1, product2), який приймає два екземпляри Product як параметри та повертає:
    • "Product 1 is more expensive", якщо ціна product1 вища;
    • "Product 2 is more expensive", якщо ціна product2 вища;
    • "Both products have the same price", якщо ціни однакові.
12345678910111213141516171819202122232425262728293031
class 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
copy
  • Визначте статичну властивість з назвою 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".
12345678910111213141516171819202122232425262728293031
class 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
copy

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 13
some-alt