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
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 1. Luku 13
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 1. Luku 13