public abstract class Vehicule {
private int id;
private String marque;
private String modele;
private String immatriculation;
private int annee;
private double prixjour;
private boolean disponible;
public Vehicule(int id, String marque, String modele, String immatriculation, int annee, double prixParJour, boolean disponible) {
this.id = id;
this.marque = marque;
this.modele = modele;
this.immatriculation = immatriculation;
this.annee = annee;
this.prixjour = prixParJour;
this.disponible = disponible;
}
// ── Getters ──
public int getId() { return id; }
public String getMarque() { return marque; }
public String getModele() { return modele; }
public String getImmatriculation() { return immatriculation; }
public int getAnnee() { return annee; }
public double getPrixJour() { return prixjour; }
public boolean isDisponible() { return disponible; }
public void SetDisponible(boolean rep) { disponible = rep;}
// Conservé pour compatibilité (à nettoyer lors de l'harmonisation)
public String Getmodele() { return modele; }
// ── Méthodes ──
public void louer() {
this.disponible = false;
}
public void retourner() {
this.disponible = true;
}
// Affichage des informations communes — surchargé dans chaque sous-classe
public void afficher() {
System.out.println("──────────────────────────────────");
System.out.println(" ID : " + id);
System.out.println(" Marque : " + marque);
System.out.println(" Modèle : " + modele);
System.out.println(" Immatriculation : " + immatriculation);
System.out.println(" Année : " + annee);
System.out.println(" Prix / jour : " + prixjour + " €");
System.out.println(" Disponible : " + (disponible ? "Oui" : "Non"));
}
@Override
public String toString() {
return id + " | " + marque + " " + modele + " (" + immatriculation + ") | "
+ prixjour + "€/j | " + (disponible ? "Disponible" : "Indisponible");
}
}