Haaste: Toteuta Staattiset Ominaisuudet ja Metodit Luokassa
Tehtävä
Kuvittele, että rakennat varastonhallintajärjestelmää verkkokaupalle. Product-luokan tulee seurata varastoon lisättyjen tuotteiden kokonaismäärää sekä tarjota toiminnallisuus kahden tuotteen hintojen vertailuun.
- Määrittele staattinen ominaisuus:
- Luo
Product-luokkaan staattinen ominaisuustotalProducts, joka alustetaan arvoon0; - Joka kerta kun uusi
Product-olio luodaan, kasvatatotalProducts-arvoa yhdellä, jotta voidaan seurata varastoon lisättyjen tuotteiden määrää.
- Luo
- Määrittele staattinen metodi: Määrittele staattinen metodi
comparePrices(product1, product2), joka ottaa kaksiProduct-oliota parametreina ja palauttaa:"Product 1 is more expensive", josproduct1on kalliimpi;"Product 2 is more expensive", josproduct2on kalliimpi;"Both products have the same price", jos hinnat ovat samat.
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
- Määrittele staattinen ominaisuus nimeltä
totalProductsja alusta se arvoon0; - Konstruktori-metodissa kasvata
Product.totalProductsarvoa yhdellä aina, kun uusiProduct-olio luodaan; - Määrittele staattinen metodi
comparePrices(product1, product2), joka ottaa kaksi parametria:product1japroduct2; - Käytä
comparePrices-metodissaif-lausetta tarkistaaksesi, onkoproduct1.pricesuurempi kuinproduct2.price. Jos kyllä, palauta"Product 1 is more expensive"; - Käytä
else if-lausetta tarkistaaksesi, onkoproduct1.pricepienempi kuinproduct2.price. Jos kyllä, palauta"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
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain how static properties and methods work in JavaScript?
What would happen if I created more Product instances?
Can you show how to add more features to the Product class?
Awesome!
Completion rate improved to 2.22
Haaste: Toteuta Staattiset Ominaisuudet ja Metodit Luokassa
Pyyhkäise näyttääksesi valikon
Tehtävä
Kuvittele, että rakennat varastonhallintajärjestelmää verkkokaupalle. Product-luokan tulee seurata varastoon lisättyjen tuotteiden kokonaismäärää sekä tarjota toiminnallisuus kahden tuotteen hintojen vertailuun.
- Määrittele staattinen ominaisuus:
- Luo
Product-luokkaan staattinen ominaisuustotalProducts, joka alustetaan arvoon0; - Joka kerta kun uusi
Product-olio luodaan, kasvatatotalProducts-arvoa yhdellä, jotta voidaan seurata varastoon lisättyjen tuotteiden määrää.
- Luo
- Määrittele staattinen metodi: Määrittele staattinen metodi
comparePrices(product1, product2), joka ottaa kaksiProduct-oliota parametreina ja palauttaa:"Product 1 is more expensive", josproduct1on kalliimpi;"Product 2 is more expensive", josproduct2on kalliimpi;"Both products have the same price", jos hinnat ovat samat.
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
- Määrittele staattinen ominaisuus nimeltä
totalProductsja alusta se arvoon0; - Konstruktori-metodissa kasvata
Product.totalProductsarvoa yhdellä aina, kun uusiProduct-olio luodaan; - Määrittele staattinen metodi
comparePrices(product1, product2), joka ottaa kaksi parametria:product1japroduct2; - Käytä
comparePrices-metodissaif-lausetta tarkistaaksesi, onkoproduct1.pricesuurempi kuinproduct2.price. Jos kyllä, palauta"Product 1 is more expensive"; - Käytä
else if-lausetta tarkistaaksesi, onkoproduct1.pricepienempi kuinproduct2.price. Jos kyllä, palauta"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
Kiitos palautteestasi!