Utmaning: Implementera Klassarv med Extends och Super()
Uppgift
Du arbetar med ett transportsystem som spårar olika typer av fordon. Varje fordon har ett make, model och year. För elfordon behöver du även spåra batteryCapacity. Du ska använda arv för att utöka en generell Vehicle-klass för specifika elfordon.
- Skapa en klass
ElectricVehiclesom ärver frånVehicle; - Konstruktorn för
ElectricVehicleska ta emotmake,model,yearochbatteryCapacity; - Använd
super()för att initieramake,modelochyeari basklassen; - Lägg till en metod
getDetailsiElectricVehiclesom överskuggarVehicle-klassensgetDetails-metod. Den ska anropasuper.getDetails()och lägga till information ombatteryCapacity. Formatet ska vara:"{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.
- Definiera en klass
ElectricVehiclesom ärver frånVehicle; - I konstruktorn för
ElectricVehicle, lägg till en parameterbatteryCapacityeftermake,modelochyear; - Använd
super(make, model, year)för att anropa basklassens konstruktor och initieramake,modelochyear; - Tilldela
batteryCapacitytill en egenskap iElectricVehicle; - Definiera en metod
getDetailsiElectricVehiclesom överskuggarVehicle-klassensgetDetails-metod; - Inuti
getDetails, användsuper.getDetails()för att hämta basklassens detaljer och lägg sedan till information om batterikapaciteten i retursträngen.
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.
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 1. Kapitel 15
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 2.22
Utmaning: Implementera Klassarv med Extends och Super()
Svep för att visa menyn
Uppgift
Du arbetar med ett transportsystem som spårar olika typer av fordon. Varje fordon har ett make, model och year. För elfordon behöver du även spåra batteryCapacity. Du ska använda arv för att utöka en generell Vehicle-klass för specifika elfordon.
- Skapa en klass
ElectricVehiclesom ärver frånVehicle; - Konstruktorn för
ElectricVehicleska ta emotmake,model,yearochbatteryCapacity; - Använd
super()för att initieramake,modelochyeari basklassen; - Lägg till en metod
getDetailsiElectricVehiclesom överskuggarVehicle-klassensgetDetails-metod. Den ska anropasuper.getDetails()och lägga till information ombatteryCapacity. Formatet ska vara:"{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.
- Definiera en klass
ElectricVehiclesom ärver frånVehicle; - I konstruktorn för
ElectricVehicle, lägg till en parameterbatteryCapacityeftermake,modelochyear; - Använd
super(make, model, year)för att anropa basklassens konstruktor och initieramake,modelochyear; - Tilldela
batteryCapacitytill en egenskap iElectricVehicle; - Definiera en metod
getDetailsiElectricVehiclesom överskuggarVehicle-klassensgetDetails-metod; - Inuti
getDetails, användsuper.getDetails()för att hämta basklassens detaljer och lägg sedan till information om batterikapaciteten i retursträngen.
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.
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 1. Kapitel 15