complete all TODO sections in GasCar class

This commit is contained in:
2026-04-28 10:40:55 +03:30
parent eef8eb4933
commit 26e6d9b82d
2 changed files with 40 additions and 21 deletions
+4 -4
View File
@@ -32,10 +32,10 @@ public abstract class Car extends Vehicle implements Serviceable {
@Override @Override
public void showDetails() { public void showDetails() {
System.out.println( System.out.println(
"brand: " + getBrand() "brand: " + getBrand() + "\n"
+ " model: " + getModel() + " model: " + getModel() + "\n"
+ " year: " + getYear() + " year: " + getYear() + "\n"
+ " mileage: " + getMileage() + " mileage: " + getMileage() + "\n"
+ " seats: " + getSeats() + " seats: " + getSeats()
); );
} }
+36 -17
View File
@@ -1,15 +1,5 @@
package org.model; package org.model;
/*
* GasCar extends Car.
* Inherits Serviceable from Car.
*
* Service logic for GasCar:
* - needsService(): return true if mileage > 12000
* - performService():
* Print "Engine oil changed"
* Reset fuelLevel to 100
*/
import org.behavior.Refuelable; import org.behavior.Refuelable;
@@ -27,13 +17,42 @@ public class GasCar extends Car implements Refuelable {
this.fuelType = fuelType; this.fuelType = fuelType;
} }
// TODO: Override getEnergyType() → return fuelType + " (Gas)" public double getFuelLevel() { return this.fuelLevel; }
public String getFuelType() { return this.fuelType; }
public void setFuelLevel(double fuelLevel) { this.fuelLevel = fuelLevel; }
// TODO: Implement refuel(double amount) @Override
// Validate amount public String getEnergyType() {
// Cap at 100 return getFuelType() + " (Gas)";
}
// TODO: Override showDetails() @Override
// Call super.showDetails() public void refuel(double amount) {
// Print fuel level and fuel type if (amount < 0) {
throw new IllegalArgumentException("Amount must be positive");
}
if ( getFuelLevel() + amount > 100 ) {
setFuelLevel(100);
}
setFuelLevel(getFuelLevel() + amount);
}
@Override
public void showDetails() {
super.showDetails();
System.out.println(
"fuel level: " + this.fuelLevel + "\n"
+ " fuel type: " + this.fuelType);
}
@Override
public boolean needsService(Vehicle v) {
return getMileage() > 12000;
}
@Override
public void performService() {
System.out.println("Engine oil changed");
setFuelLevel(100);
}
} }