Voici un probleme qui m'a ete soumis recemment. Je chercher la meilleure solution possible.

Soit une classe Voiture dont voici la description :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public classe Voiture {
  private String modele;

  private Voiture(String modele) {
    this.modele = modele
  }

  public String getModele() {
    return modele;
  }
  
  public double getPrixHT() {
    double prixHT;

    // le prix est recupere dans une base de donnees distante.

    ...

    return prixHT;
  }
}
Voila le probleme :

Une voiture peut etre achetee avec sans options supplementaire. Chaque option s'ajoute au prix de base.

Voici les options :
- Traitement anti corrosion : + 8% du prix de base.
- Boite automatique : + 500 Euros.

Donc il est possible d'acheter une voiture avec toutes les combinaisons d'option possible ou meme sans option.

Avez vous une piste a me proposer pour calculer le prix de la voiture avec ou sans options.

J'ai d'abord pense a l'heritage mais ce n'est pas recommande car toutes les options sont multiples et elles generent beaucoup de combinaisons.