From b208cf62d466173f8d44d20a46aa933699185b48 Mon Sep 17 00:00:00 2001 From: aeen Date: Fri, 24 Apr 2026 21:31:56 +0330 Subject: [PATCH] feat: add abstract Vehicle base class --- src/main/java/org/example/model/Vehicle.java | 38 ++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/main/java/org/example/model/Vehicle.java diff --git a/src/main/java/org/example/model/Vehicle.java b/src/main/java/org/example/model/Vehicle.java new file mode 100644 index 0000000..1a2f7e4 --- /dev/null +++ b/src/main/java/org/example/model/Vehicle.java @@ -0,0 +1,38 @@ +package org.example.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 + + // TODO: Implement addMileage(double km) + // If km is negative → print error + // Otherwise increase mileage + + // TODO: Declare abstract method getEnergyType() + + public void basicInfo() { + System.out.println( + year + " " + brand + " " + model + + " | Mileage: " + mileage + + " | Energy: " + getEnergyType() + ); + } +}