Utmaning: Implementera Statiska Egenskaper och Metoder i en Klass
Uppgift
Föreställ dig att du bygger ett lagerhanteringssystem för en nätbutik. Klassen Product behöver hålla reda på det totala antalet produkter som lagts till i lagret, samt erbjuda funktionalitet för att jämföra priser mellan två produkter.
- Definiera en statisk egenskap:
- I klassen
Product, skapa en statisk egenskaptotalProductssom initialiseras till0; - Varje gång en ny instans av
Productskapas, öka värdet påtotalProductsmed 1 för att hålla reda på hur många produkter som har lagts till i lagret.
- I klassen
- Definiera en statisk metod: Definiera en statisk metod
comparePrices(product1, product2)som tar två instanser avProductsom parametrar och returnerar:"Product 1 is more expensive"omproduct1har ett högre pris;"Product 2 is more expensive"omproduct2har ett högre pris;"Both products have the same price"om de har samma pris.
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
- Definiera en statisk egenskap med namnet
totalProductsoch initiera den till0; - I konstruktorn, öka
Product.totalProductsmed 1 varje gång en ny instans avProductskapas; - Definiera en statisk metod
comparePrices(product1, product2)som tar två parametrar:product1ochproduct2; - I
comparePrices, använd ettif-uttryck för att kontrollera omproduct1.priceär större änproduct2.price. Om sant, returnera"Product 1 is more expensive"; - Använd ett
else if-uttryck för att kontrollera omproduct1.priceär mindre änproduct2.price. Om sant, returnera"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
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 1. Kapitel 13
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 2.22
Utmaning: Implementera Statiska Egenskaper och Metoder i en Klass
Svep för att visa menyn
Uppgift
Föreställ dig att du bygger ett lagerhanteringssystem för en nätbutik. Klassen Product behöver hålla reda på det totala antalet produkter som lagts till i lagret, samt erbjuda funktionalitet för att jämföra priser mellan två produkter.
- Definiera en statisk egenskap:
- I klassen
Product, skapa en statisk egenskaptotalProductssom initialiseras till0; - Varje gång en ny instans av
Productskapas, öka värdet påtotalProductsmed 1 för att hålla reda på hur många produkter som har lagts till i lagret.
- I klassen
- Definiera en statisk metod: Definiera en statisk metod
comparePrices(product1, product2)som tar två instanser avProductsom parametrar och returnerar:"Product 1 is more expensive"omproduct1har ett högre pris;"Product 2 is more expensive"omproduct2har ett högre pris;"Both products have the same price"om de har samma pris.
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
- Definiera en statisk egenskap med namnet
totalProductsoch initiera den till0; - I konstruktorn, öka
Product.totalProductsmed 1 varje gång en ny instans avProductskapas; - Definiera en statisk metod
comparePrices(product1, product2)som tar två parametrar:product1ochproduct2; - I
comparePrices, använd ettif-uttryck för att kontrollera omproduct1.priceär större änproduct2.price. Om sant, returnera"Product 1 is more expensive"; - Använd ett
else if-uttryck för att kontrollera omproduct1.priceär mindre änproduct2.price. Om sant, returnera"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
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 1. Kapitel 13