next up previous contents index
suivant: Paramètres fonctionnels monter: La classe Object et précédent: Égalité   Table des matières   Index


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 :

package structures;

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

  ArbreBinaire(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 étiquettes 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 ArbreBinaire("toto", 
    new ArbreBinaire(new Integer(3), null, null),
    new ArbreBinaire(new Double(0.4), null, null));

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



Rene' LALEMENT 2002-11-07