package conversion; /** * Conversion version 5 * * La classe Devise permet de créer des objets représentant la monnaie d'un * pays. * * Chaque devise est caractérisée par son nom et possède comme donnée son taux * de change en Euro. * * La classe fournit également des méthodes permettant de convertir une somme * depuis la monnaie vers l'Euro et inversement. * * Le taux de change en Euro peut être modifié. */ public class Devise { private final String nom; private double tauxDeChangeEnEuro; Devise(String nom, double tauxDeChangeEnEuro) { this.nom = nom; this.tauxDeChangeEnEuro = tauxDeChangeEnEuro; } /* * La méthode est finale pour qu'on ne puisse modifier le nom par * redéfinition. */ public final String nom() { return nom; } public double tauxDeChangeEnEuro() { return tauxDeChangeEnEuro; } public void changerTauxDeChangeEnEuro(double nouveauTaux) { tauxDeChangeEnEuro = nouveauTaux; } public double conversionEnEuro(double somme) { return somme / tauxDeChangeEnEuro; } public double conversionDepuisEuro(double somme) { return somme * tauxDeChangeEnEuro; } public boolean equals(Object o) { return o instanceof Devise && nom.equals(((Devise) o).nom); } public String toString() { return nom; } public int hashCode() { return nom.hashCode(); } }