Herausforderung: Implementierung von Klassenvererbung mit Extends und Super()
Aufgabe
Sie arbeiten an einem Transportmanagementsystem, das verschiedene Fahrzeugtypen verfolgt. Jedes Fahrzeug verfügt über die Eigenschaften make, model und year. Für Elektrofahrzeuge muss zusätzlich die batteryCapacity erfasst werden. Sie sollen Vererbung nutzen, um eine allgemeine Klasse Vehicle für spezifische Elektrofahrzeuge zu erweitern.
- Erstellen Sie eine Klasse
ElectricVehicle, die vonVehicleerbt; - Der Konstruktor von
ElectricVehiclesollmake,model,yearundbatteryCapacityakzeptieren; - Verwenden Sie
super(), ummake,modelundyearin der Elternklasse zu initialisieren; - Fügen Sie eine Methode
getDetailszuElectricVehiclehinzu, die die MethodeVehiclevongetDetailsüberschreibt. Sie sollsuper.getDetails()aufrufen und Informationen zurbatteryCapacityergänzen. Das Format soll sein:"{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.
- Definieren einer Klasse
ElectricVehicle, die vonVehicleerbt; - Im Konstruktor von
ElectricVehicleeinen ParameterbatteryCapacitynachmake,modelundyearhinzufügen; - Verwenden von
super(make, model, year), um den Konstruktor der Elternklasse aufzurufen undmake,modelsowieyearzu initialisieren; - Zuweisen von
batteryCapacityzu einer Eigenschaft inElectricVehicle; - Definieren einer Methode
getDetailsinElectricVehicle, die die MethodeVehiclevongetDetailsüberschreibt; - Innerhalb von
getDetailssuper.getDetails()verwenden, um die Details der Elternklasse zu erhalten, und anschließend die Information zur Batteriekapazität an den Rückgabewert anhä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.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 2.22
Herausforderung: Implementierung von Klassenvererbung mit Extends und Super()
Swipe um das Menü anzuzeigen
Aufgabe
Sie arbeiten an einem Transportmanagementsystem, das verschiedene Fahrzeugtypen verfolgt. Jedes Fahrzeug verfügt über die Eigenschaften make, model und year. Für Elektrofahrzeuge muss zusätzlich die batteryCapacity erfasst werden. Sie sollen Vererbung nutzen, um eine allgemeine Klasse Vehicle für spezifische Elektrofahrzeuge zu erweitern.
- Erstellen Sie eine Klasse
ElectricVehicle, die vonVehicleerbt; - Der Konstruktor von
ElectricVehiclesollmake,model,yearundbatteryCapacityakzeptieren; - Verwenden Sie
super(), ummake,modelundyearin der Elternklasse zu initialisieren; - Fügen Sie eine Methode
getDetailszuElectricVehiclehinzu, die die MethodeVehiclevongetDetailsüberschreibt. Sie sollsuper.getDetails()aufrufen und Informationen zurbatteryCapacityergänzen. Das Format soll sein:"{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.
- Definieren einer Klasse
ElectricVehicle, die vonVehicleerbt; - Im Konstruktor von
ElectricVehicleeinen ParameterbatteryCapacitynachmake,modelundyearhinzufügen; - Verwenden von
super(make, model, year), um den Konstruktor der Elternklasse aufzurufen undmake,modelsowieyearzu initialisieren; - Zuweisen von
batteryCapacityzu einer Eigenschaft inElectricVehicle; - Definieren einer Methode
getDetailsinElectricVehicle, die die MethodeVehiclevongetDetailsüberschreibt; - Innerhalb von
getDetailssuper.getDetails()verwenden, um die Details der Elternklasse zu erhalten, und anschließend die Information zur Batteriekapazität an den Rückgabewert anhä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.
Danke für Ihr Feedback!