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.