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 { 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 String getEnergyType() { return fuelType + " (Gas)"; } public void refuel(double amount) { if (amount <= 0) { System.out.println("Error"); return; } if (this.fuelLevel + amount > 100) { this.fuelLevel = 100; } else { this.fuelLevel += amount; } } @Override public void showDetails() { super.showDetails(); System.out.print( " | fuel type: " + fuelType + " | fuel level: " + fuelLevel ); System.out.println(); } @Override public boolean needsService(Vehicle v) { if(getMileage() > 12000) { return true; } else { return false; } } @Override public void performService() { System.out.println("Engine oil changed"); this.fuelLevel = 100; } }