package org.model; import org.behavior.Refuelable; public class GasCar extends Car implements Refuelable { private double fuelLevel; private String fuelType; public GasCar(String brand, String model, int year, double mileage, int seats, double fuelLevel, String fuelType) { super(brand, model, year, mileage, seats); this.fuelLevel = fuelLevel; this.fuelType = fuelType; } @Override public boolean needsService(Vehicle v) { if (v.getMileage()> 12000){ return true; }else{ return false; } } @Override public void performService() { System.out.println("Engine oil changed"); fuelLevel = 100; } @Override public String getEnergyType() { return fuelType + " (Gas)"; } @Override public void refuel(double amount) { if (amount <= 0){ System.out.println("Invalid amount! Must be positive."); return; } if (fuelLevel + amount > 100) { fuelLevel = 100; System.out.println("Tank is full! Fuel level is now 100.0"); } else { fuelLevel += amount; System.out.println("Added " + amount + " units. Fuel level is now " + fuelLevel); } } @Override public void showDetails() { super.showDetails(); System.out.println(" | fuel Level: "+fuelLevel+" | fuel Type: "+fuelType); } }