next up previous contents index
Next: Chaînes de caractères Up: La classe Object et Previous: La classe Object et

Généricité

On peut utiliser la classe Object pour transformer une structure de données en une structure générique, par exemple les arbres à noeuds de type int en arbres à noeuds de types référencés quelconques. Il suffit de remplacer int par Object. La définition de la classe devient :

class ACons extends ArbreBinaire {
  Object étiquette;
  ArbreBinaire gauche, droit;

  ACons(Object étiquette, 
        ArbreBinaire gauche, 
        ArbreBinaire droit) {
   this.étiquette = étiquette;
   this.gauche = gauche;
   this.droit = droit;
  }
  // ...
}
On obtient ainsi des arbres génériques hétérogènes (ce qui signifie que les objets aux noeuds ne sont pas nécessairement du même type). Pour passer un argument d'un type primitif à une méthode demandant un objet, on a recours aux classes enveloppantes Integer, Double, etc. :  

  ArbreBinaire t = new ACons("toto", 
    new ACons(new Integer(3), AVide.val(), AVide.val()),
    new ACons(new Double(0.4), AVide.val(), AVide.val()));

Rappelons que les chaînes littérales, comme "toto", sont des objets de classe String.



R. Lalement
2000-10-23