Class HybridCar (Bonus) completed.

This commit is contained in:
2026-04-28 20:42:02 +03:30
parent 570e1cd97f
commit aca8cb51bf
+71
View File
@@ -0,0 +1,71 @@
package org.model;
import org.behavior.Chargeable;
import org.behavior.Refuelable;
public class HybridCar extends Car implements Chargeable, Refuelable {
private int batteryCapacity;
private double chargeLevel;
private double fuelLevel;
private String fuelType;
public HybridCar(String brand, String model, int year,
double mileage, int seats,
int batteryCapacity, double chargeLevel,
double fuelLevel, String fuelType)
{
super(brand, model, year, mileage, seats);
this.batteryCapacity = batteryCapacity;
this.chargeLevel = chargeLevel;
this.fuelLevel = fuelLevel;
this.fuelType = fuelType;
}
@Override
public String getEnergyType() {
return ("Hybrid (Gas and Electric)");
}
//Implement Refuelable
public void refuel(double amount) {
if (amount <= 0) {
System.out.println("Invalid amount!");
return;
}
if (fuelLevel + amount > 100) {System.out.println("Invalid amount!");}
else {System.out.println("Refuelable!");}
}
//Implement Chargeable
public void charge(double amount) {
if (amount <= 0) {
System.out.println("Invalid amount!");
return;
}
if (chargeLevel + amount > 100) {System.out.println("Invalid amount!");}
else {System.out.println("Refuelable!");}
}
@Override
public void showDetails() {
super.showDetails();
System.out.println(fuelLevel);
System.out.println(fuelType);
System.out.println(batteryCapacity);
System.out.println(chargeLevel);
}
@Override
public boolean needsService(Vehicle v) {
double mileage = v.getMileage();
return (mileage > 10000);
}
@Override
public void performService() {
System.out.println("Engine oil changed and battery system checked");
chargeLevel = 100;
fuelLevel = 100;
}
}