Sommaire

Exemple en Java

La classe OptionVehicule possède un constructeur qui permet de définir l’état intrinsèque de l’option. Dans cet exemple, à part le nom, les autres attributs prennent des valeurs constantes ou basées directement sur le nom. Normalement, ces valeurs devraient provenir d’une base de données.

La méthode affiche prend le prix de vente comme paramètre qui constitue l’état extrinsèque.

public class OptionVehicule 
{ 
  protected String nom; 
  protected String description; 
  protected int prixStandard; 
 
  public OptionVehicule(String nom) 
  { 
    this.nom = nom; 
    this.description = "Description de " + nom; 
    this.prixStandard = 100; 
  } 
 
  public void affiche(int prixDeVente) 
  { 
    System.out.println("Option"); 
    System.out.println("Nom : " + nom); 
    System.out.println(description); 
    System.out.println("Prix standard : " + prixStandard); 
    System.out.println("Prix de vente : " + prixDeVente); 
  } 
}

La classe FabriqueOption gère le partage des options à l’aide d’un dictionnaire (TreeMap) dont la clé d’accès est le nom de l’option. La méthode getOption recherche dans ce dictionnaire et si l’option n’est pas trouvée, elle est créée, ajoutée au dictionnaire et retournée.

import java.util.*;  
public class FabriqueOption ...