Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Implementera Klassarv med Extends och Super() | Bemästra JavaScript-klasser och Arv
Avancerad JavaScript-mästerskap

bookUtmaning: 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.

  1. Skapa en klass ElectricVehicle som ärver från Vehicle;
  2. Konstruktorn för ElectricVehicle ska ta emot make, model, year och batteryCapacity;
  3. Använd super() för att initiera make, model och year i basklassen;
  4. Lägg till en metod getDetails i ElectricVehicle som överskuggar Vehicle-klassens getDetails-metod. Den ska anropa super.getDetails() och lägga till information om batteryCapacity. Formatet ska vara: "{make} {model} ({year}) with a battery capacity of {batteryCapacity} kWh.".
12345678910111213141516171819202122232425262728293031
class 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.
copy
  • Definiera en klass ElectricVehicle som ärver från Vehicle;
  • I konstruktorn för ElectricVehicle, lägg till en parameter batteryCapacity efter make, model och year;
  • Använd super(make, model, year) för att anropa basklassens konstruktor och initiera make, model och year;
  • Tilldela batteryCapacity till en egenskap i ElectricVehicle;
  • Definiera en metod getDetails i ElectricVehicle som överskuggar Vehicle-klassens getDetails-metod;
  • Inuti getDetails, använd super.getDetails() för att hämta basklassens detaljer och lägg sedan till information om batterikapaciteten i retursträngen.
12345678910111213141516171819202122232425262728293031
class 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.
copy

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 15

Fråga AI

expand

Fråga AI

ChatGPT

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

bookUtmaning: 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.

  1. Skapa en klass ElectricVehicle som ärver från Vehicle;
  2. Konstruktorn för ElectricVehicle ska ta emot make, model, year och batteryCapacity;
  3. Använd super() för att initiera make, model och year i basklassen;
  4. Lägg till en metod getDetails i ElectricVehicle som överskuggar Vehicle-klassens getDetails-metod. Den ska anropa super.getDetails() och lägga till information om batteryCapacity. Formatet ska vara: "{make} {model} ({year}) with a battery capacity of {batteryCapacity} kWh.".
12345678910111213141516171819202122232425262728293031
class 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.
copy
  • Definiera en klass ElectricVehicle som ärver från Vehicle;
  • I konstruktorn för ElectricVehicle, lägg till en parameter batteryCapacity efter make, model och year;
  • Använd super(make, model, year) för att anropa basklassens konstruktor och initiera make, model och year;
  • Tilldela batteryCapacity till en egenskap i ElectricVehicle;
  • Definiera en metod getDetails i ElectricVehicle som överskuggar Vehicle-klassens getDetails-metod;
  • Inuti getDetails, använd super.getDetails() för att hämta basklassens detaljer och lägg sedan till information om batterikapaciteten i retursträngen.
12345678910111213141516171819202122232425262728293031
class 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.
copy

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 15
some-alt