Haaste: Toteuta Luokkaperintä Extends- ja Super()-Avainsanoilla
Tehtävä
Työskentelet kuljetusten hallintajärjestelmän parissa, joka seuraa erilaisia ajoneuvotyyppejä. Jokaisella ajoneuvolla on make, model ja year. Sähköajoneuvojen osalta tulee lisäksi seurata batteryCapacity-arvoa. Käytät periytymistä laajentaaksesi yleistä Vehicle-luokkaa sähköajoneuvoille.
- Luo
ElectricVehicle-luokka, joka periiVehicle-luokan; ElectricVehicle-konstruktori ottaa vastaan parametritmake,model,yearjabatteryCapacity;- Käytä
super()-kutsua alustamaanmake,modeljayearyläluokassa; - Lisää
getDetails-metodiElectricVehicle-luokkaan, joka korvaaVehicle-luokangetDetails-metodin. Sen tulee kutsuasuper.getDetails()ja lisätä tiedotbatteryCapacity-arvosta. Muotoilun tulee olla:"{make} {model} ({year}) with a battery capacity of {batteryCapacity} kWh.".
12345678910111213141516171819202122232425262728293031class Vehicle { constructor(make, model, year) { this.make = make; this.model = model; this.year = year; } getDetails() { return `${this.make} ${this.model} (${this.year})`; } } class ElectricVehicle _____ _____ { _____(make, model, year, _____) { _____(_____, _____, _____); this.batteryCapacity = batteryCapacity; } _____() { return `${super._____} with a battery capacity of ${ _____._____ } kWh.`; } } // Testing const vehicle = new Vehicle('Toyota', 'Camry', 2020); console.log(vehicle.getDetails()); // Expected: Toyota Camry (2020) const electricVehicle = new ElectricVehicle('Tesla', 'Model 3', 2021, 75); console.log(electricVehicle.getDetails()); // Expected: Tesla Model 3 (2021) with a battery capacity of 75 kWh.
- Määrittele
ElectricVehicle-luokka, joka periiVehicle-luokan; - Lisää
ElectricVehicle-konstruktorissa parametribatteryCapacitymake,modeljayearjälkeen; - Käytä
super(make, model, year)kutsuaksesi yläluokan konstruktoria ja alustamaanmake,modeljayear; - Aseta
batteryCapacityominaisuudeksiElectricVehicle-luokassa; - Määrittele
getDetails-metodiElectricVehicle-luokkaan, joka korvaaVehicle-luokangetDetails-metodin; getDetails-metodin sisällä käytäsuper.getDetails()saadaksesi yläluokan tiedot ja lisää palautettavaan merkkijonoon tieto akun kapasiteetista.
12345678910111213141516171819202122232425262728293031class Vehicle { constructor(make, model, year) { this.make = make; this.model = model; this.year = year; } getDetails() { return `${this.make} ${this.model} (${this.year})`; } } class ElectricVehicle extends Vehicle { constructor(make, model, year, batteryCapacity) { super(make, model, year); this.batteryCapacity = batteryCapacity; } getDetails() { return `${super.getDetails()} with a battery capacity of ${ this.batteryCapacity } kWh.`; } } // Testing const vehicle = new Vehicle('Toyota', 'Camry', 2020); console.log(vehicle.getDetails()); // Output: Toyota Camry (2020) const electricVehicle = new ElectricVehicle('Tesla', 'Model 3', 2021, 75); console.log(electricVehicle.getDetails()); // Output: Tesla Model 3 (2021) with a battery capacity of 75 kWh.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain how inheritance works in this example?
What does the super() function do in the constructor?
How does method overriding work in JavaScript classes?
Awesome!
Completion rate improved to 2.22
Haaste: Toteuta Luokkaperintä Extends- ja Super()-Avainsanoilla
Pyyhkäise näyttääksesi valikon
Tehtävä
Työskentelet kuljetusten hallintajärjestelmän parissa, joka seuraa erilaisia ajoneuvotyyppejä. Jokaisella ajoneuvolla on make, model ja year. Sähköajoneuvojen osalta tulee lisäksi seurata batteryCapacity-arvoa. Käytät periytymistä laajentaaksesi yleistä Vehicle-luokkaa sähköajoneuvoille.
- Luo
ElectricVehicle-luokka, joka periiVehicle-luokan; ElectricVehicle-konstruktori ottaa vastaan parametritmake,model,yearjabatteryCapacity;- Käytä
super()-kutsua alustamaanmake,modeljayearyläluokassa; - Lisää
getDetails-metodiElectricVehicle-luokkaan, joka korvaaVehicle-luokangetDetails-metodin. Sen tulee kutsuasuper.getDetails()ja lisätä tiedotbatteryCapacity-arvosta. Muotoilun tulee olla:"{make} {model} ({year}) with a battery capacity of {batteryCapacity} kWh.".
12345678910111213141516171819202122232425262728293031class Vehicle { constructor(make, model, year) { this.make = make; this.model = model; this.year = year; } getDetails() { return `${this.make} ${this.model} (${this.year})`; } } class ElectricVehicle _____ _____ { _____(make, model, year, _____) { _____(_____, _____, _____); this.batteryCapacity = batteryCapacity; } _____() { return `${super._____} with a battery capacity of ${ _____._____ } kWh.`; } } // Testing const vehicle = new Vehicle('Toyota', 'Camry', 2020); console.log(vehicle.getDetails()); // Expected: Toyota Camry (2020) const electricVehicle = new ElectricVehicle('Tesla', 'Model 3', 2021, 75); console.log(electricVehicle.getDetails()); // Expected: Tesla Model 3 (2021) with a battery capacity of 75 kWh.
- Määrittele
ElectricVehicle-luokka, joka periiVehicle-luokan; - Lisää
ElectricVehicle-konstruktorissa parametribatteryCapacitymake,modeljayearjälkeen; - Käytä
super(make, model, year)kutsuaksesi yläluokan konstruktoria ja alustamaanmake,modeljayear; - Aseta
batteryCapacityominaisuudeksiElectricVehicle-luokassa; - Määrittele
getDetails-metodiElectricVehicle-luokkaan, joka korvaaVehicle-luokangetDetails-metodin; getDetails-metodin sisällä käytäsuper.getDetails()saadaksesi yläluokan tiedot ja lisää palautettavaan merkkijonoon tieto akun kapasiteetista.
12345678910111213141516171819202122232425262728293031class Vehicle { constructor(make, model, year) { this.make = make; this.model = model; this.year = year; } getDetails() { return `${this.make} ${this.model} (${this.year})`; } } class ElectricVehicle extends Vehicle { constructor(make, model, year, batteryCapacity) { super(make, model, year); this.batteryCapacity = batteryCapacity; } getDetails() { return `${super.getDetails()} with a battery capacity of ${ this.batteryCapacity } kWh.`; } } // Testing const vehicle = new Vehicle('Toyota', 'Camry', 2020); console.log(vehicle.getDetails()); // Output: Toyota Camry (2020) const electricVehicle = new ElectricVehicle('Tesla', 'Model 3', 2021, 75); console.log(electricVehicle.getDetails()); // Output: Tesla Model 3 (2021) with a battery capacity of 75 kWh.
Kiitos palautteestasi!