Utfordring: Implementer Klassearv med Extends og Super()
Oppgave
Du arbeider med et transportsystem som sporer ulike typer kjøretøy. Hvert kjøretøy har en make, model og year. For elektriske kjøretøy må du også spore batteryCapacity. Du skal bruke arv for å utvide en generell Vehicle-klasse for spesifikke elektriske kjøretøy.
- Opprett en
ElectricVehicle-klasse som utviderVehicle; - Konstruktøren til
ElectricVehicleskal ta imotmake,model,yearogbatteryCapacity; - Bruk
super()for å initialiseremake,modelogyeari superklassen; - Legg til en
getDetails-metode iElectricVehiclesom overstyrerVehiclesingetDetails-metode. Den skal kallesuper.getDetails()og legge til informasjon ombatteryCapacity. Formatet skal være:"{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.
- Definer en klasse
ElectricVehiclesom utviderVehicle; - I konstruktøren til
ElectricVehicle, legg til en parameterbatteryCapacityettermake,modelogyear; - Bruk
super(make, model, year)for å kalle superklassens konstruktør og initialiseremake,modelogyear; - Tildel
batteryCapacitytil en egenskap iElectricVehicle; - Definer en
getDetails-metode iElectricVehiclesom overstyrerVehiclesingetDetails-metode; - Inne i
getDetails, bruksuper.getDetails()for å hente detaljene fra superklassen, og legg deretter til informasjon om batterikapasitet i returstrengen.
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.
Takk for tilbakemeldingene dine!
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
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
Utfordring: Implementer Klassearv med Extends og Super()
Sveip for å vise menyen
Oppgave
Du arbeider med et transportsystem som sporer ulike typer kjøretøy. Hvert kjøretøy har en make, model og year. For elektriske kjøretøy må du også spore batteryCapacity. Du skal bruke arv for å utvide en generell Vehicle-klasse for spesifikke elektriske kjøretøy.
- Opprett en
ElectricVehicle-klasse som utviderVehicle; - Konstruktøren til
ElectricVehicleskal ta imotmake,model,yearogbatteryCapacity; - Bruk
super()for å initialiseremake,modelogyeari superklassen; - Legg til en
getDetails-metode iElectricVehiclesom overstyrerVehiclesingetDetails-metode. Den skal kallesuper.getDetails()og legge til informasjon ombatteryCapacity. Formatet skal være:"{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.
- Definer en klasse
ElectricVehiclesom utviderVehicle; - I konstruktøren til
ElectricVehicle, legg til en parameterbatteryCapacityettermake,modelogyear; - Bruk
super(make, model, year)for å kalle superklassens konstruktør og initialiseremake,modelogyear; - Tildel
batteryCapacitytil en egenskap iElectricVehicle; - Definer en
getDetails-metode iElectricVehiclesom overstyrerVehiclesingetDetails-metode; - Inne i
getDetails, bruksuper.getDetails()for å hente detaljene fra superklassen, og legg deretter til informasjon om batterikapasitet i returstrengen.
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.
Takk for tilbakemeldingene dine!