Files
WS-03-advanced-oop/src/main/java/org/model/GasCar.java
T

62 lines
1.5 KiB
Java

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);
}
}