This commit is contained in:
Reza
2026-04-28 23:01:10 +03:30
parent 6cb8f9a8d8
commit 15254cdfa3
8 changed files with 247 additions and 231 deletions
+31 -21
View File
@@ -1,16 +1,4 @@
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;
public class GasCar extends Car implements Refuelable {
@@ -27,13 +15,35 @@ public class GasCar extends Car implements Refuelable {
this.fuelType = fuelType;
}
// TODO: Override getEnergyType() → return fuelType + " (Gas)"
@Override
public String getEnergyType() {
return fuelType + " (Gas)";
}
@Override
public void refuel(double amount) {
if (amount < 0) {
System.out.println("Fuel amount cannot be negative");
return;
}
fuelLevel += amount;
// TODO: Implement refuel(double amount)
// Validate amount
// Cap at 100
// TODO: Override showDetails()
// Call super.showDetails()
// Print fuel level and fuel type
}
if (fuelLevel > 100) {
fuelLevel = 100;
}
}
@Override
public void showDetails() {
super.showDetails();
System.out.println("Fuel Level: " + fuelLevel);
System.out.println("Fuel Type: " + fuelType);
}
@Override
public boolean needsService(Vehicle v) {
return v.getMileage() > 12000;
}
@Override
public void performService() {
System.out.println("Engine oil changed");
fuelLevel = 100;
}
}