diff --git a/src/main/java/org/model/Car.java b/src/main/java/org/model/Car.java index 0ddbec2..07e1b72 100644 --- a/src/main/java/org/model/Car.java +++ b/src/main/java/org/model/Car.java @@ -21,10 +21,10 @@ public abstract class Car extends Vehicle implements Serviceable { this.seats = seats; } - //Override + @Override abstract String getEnergyType(); - //Override + @Override public void showDetails() { System.out.println(getBrand()); System.out.println(getModel()); diff --git a/src/main/java/org/model/GasCar.java b/src/main/java/org/model/GasCar.java index 2109f93..38d0a99 100644 --- a/src/main/java/org/model/GasCar.java +++ b/src/main/java/org/model/GasCar.java @@ -27,13 +27,37 @@ public class GasCar extends Car implements Refuelable { this.fuelType = fuelType; } - // TODO: Override getEnergyType() → return fuelType + " (Gas)" + @Override + public String getEnergyType() { + return (fuelType + " (Gas)"); + } - // TODO: Implement refuel(double amount) - // Validate amount - // Cap at 100 + //Implement Refuelable + public void refuel(double amount) { + if (amount <= 0) { + System.out.println("Invalid amount!"); + return; + } + if (fuelLevel + amount > 100) {System.out.println("Invalid amount!");} + else {System.out.println("Refuelable!");} + } - // TODO: Override showDetails() - // Call super.showDetails() - // Print fuel level and fuel type + @Override + public void showDetails() { + super.showDetails(); + System.out.println(fuelLevel); + System.out.println(fuelType); + } + + @Override + public boolean needsService(Vehicle v) { + double mileage = v.getMileage(); + return (mileage > 12000); + } + + @Override + public void performService() { + System.out.println("Engine oil changed"); + fuelLevel = 100; + } }