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
public void showDetails() {
System.out.println(
"brand: " + getBrand()
+ " model: " + getModel()
+ " year: " + getYear()
+ " mileage: " + getMileage()
"brand: " + getBrand() + "\n"
+ " model: " + getModel() + "\n"
+ " year: " + getYear() + "\n"
+ " mileage: " + getMileage() + "\n"
+ " seats: " + getSeats()
);
}
+36 -17
View File
@@ -1,15 +1,5 @@
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;
@@ -27,13 +17,42 @@ public class GasCar extends Car implements Refuelable {
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)
// Validate amount
// Cap at 100
@Override
public String getEnergyType() {
return getFuelType() + " (Gas)";
}
// TODO: Override showDetails()
// Call super.showDetails()
// Print fuel level and fuel type
@Override
public void refuel(double amount) {
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);
}
}