package org.model; /* * Abstract base class for all vehicles. * This class DOES NOT implement Serviceable. * Service behavior will be defined in concrete subclasses. */ public abstract class Vehicle { private String brand; private String model; private int year; private double mileage; public Vehicle(String brand, String model, int year, double mileage) { this.brand = brand; this.model = model; this.year = year; this.mileage = mileage; } // TODO: Create getters for all fields public String getBrand() { return brand; } public String getModel(){ return model; } public int getYear(){ return year; } public double getMileage() { return mileage; } // TODO: Implement addMileage(double km) // If km is negative → print error // Otherwise increase mileage public double addMileage(double km) { if (km<0) { System.out.println("error"); return mileage; } mileage+=km*0.621371; return mileage; } // TODO: Declare abstract method getEnergyType() public abstract String getEnergyType(); public void basicInfo() { System.out.println( year + " " + brand + " " + model + " | Mileage: " + mileage + " | Energy: " + getEnergyType() ); } public abstract void showDetails(); public abstract void performService(); public abstract boolean needsService(); }