Utfordring: Implementere Statiske Egenskaper og Metoder i en Klasse
Oppgave
Tenk deg at du bygger et lagerstyringssystem for en nettbutikk. Product-klassen må holde oversikt over det totale antallet produkter som er lagt til i lageret, samt tilby funksjonalitet for å sammenligne prisene på to produkter.
- Definer en statisk egenskap:
- I
Product-klassen, opprett en statisk egenskaptotalProductsinitialisert til0; - Hver gang en ny instans av
Productopprettes, øktotalProductsmed 1 for å holde oversikt over hvor mange produkter som er lagt til i lageret.
- I
- Definer en statisk metode: Definer en statisk metode
comparePrices(product1, product2)som tar to instanser avProductsom parametere og returnerer:"Product 1 is more expensive"hvisproduct1har en høyere pris;"Product 2 is more expensive"hvisproduct2har en høyere pris;"Both products have the same price"hvis de har lik 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
- Definer en statisk egenskap kalt
totalProductsog initialiser den til0; - I konstruktøren, øk
Product.totalProductsmed 1 hver gang en ny instans avProductopprettes; - Definer en statisk metode
comparePrices(product1, product2)som tar to parametere:product1ogproduct2; - I
comparePrices, bruk enif-setning for å sjekke omproduct1.priceer større ennproduct2.price. Hvis sant, returner"Product 1 is more expensive"; - Bruk en
else if-setning for å sjekke omproduct1.priceer mindre ennproduct2.price. Hvis sant, returner"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
Alt var klart?
Takk for tilbakemeldingene dine!
Seksjon 1. Kapittel 13
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 2.22
Utfordring: Implementere Statiske Egenskaper og Metoder i en Klasse
Sveip for å vise menyen
Oppgave
Tenk deg at du bygger et lagerstyringssystem for en nettbutikk. Product-klassen må holde oversikt over det totale antallet produkter som er lagt til i lageret, samt tilby funksjonalitet for å sammenligne prisene på to produkter.
- Definer en statisk egenskap:
- I
Product-klassen, opprett en statisk egenskaptotalProductsinitialisert til0; - Hver gang en ny instans av
Productopprettes, øktotalProductsmed 1 for å holde oversikt over hvor mange produkter som er lagt til i lageret.
- I
- Definer en statisk metode: Definer en statisk metode
comparePrices(product1, product2)som tar to instanser avProductsom parametere og returnerer:"Product 1 is more expensive"hvisproduct1har en høyere pris;"Product 2 is more expensive"hvisproduct2har en høyere pris;"Both products have the same price"hvis de har lik 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
- Definer en statisk egenskap kalt
totalProductsog initialiser den til0; - I konstruktøren, øk
Product.totalProductsmed 1 hver gang en ny instans avProductopprettes; - Definer en statisk metode
comparePrices(product1, product2)som tar to parametere:product1ogproduct2; - I
comparePrices, bruk enif-setning for å sjekke omproduct1.priceer større ennproduct2.price. Hvis sant, returner"Product 1 is more expensive"; - Bruk en
else if-setning for å sjekke omproduct1.priceer mindre ennproduct2.price. Hvis sant, returner"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
Alt var klart?
Takk for tilbakemeldingene dine!
Seksjon 1. Kapittel 13