Projet-location / src / Vehicule.java
Vehicule.java
Raw
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");
    }
}