next up previous contents
suivant: Classes et méthodes abstraites monter: Extension de classes précédent: Clonage   Table des matières

Classes anonymes

Une classe peut ne pas voir de nom et ne servir qu'à redéfinir des méthodes d'une classe et/ou ajouter des variables d'instances (a priori privées).

Les classes anonymes permettent de créer des instances de classes sans nom. Ce mécanisme permet aussi de créer des objets en remplaçant (ou en redéfinissant) des méthodes d'une classe sans pour autant créer une classe extension. Il s'agit surtout donc de facilités d'écriture. Notons cependant que la relecture des programmes utilisant de telles constructions n'est pas toujours simple.

Ces constructions sont souvent utilisées dans la construction d'interfaces graphiques.



transparent
Classes Anonymes


import java.util.*;
class Z {
public static Enumeration enumerer(final Object[] objs){
    return new Enumeration() {
        private int pos = 0;
        public boolean hasMoreElements(){
            return (pos < objs.length);
        }
        public Object nextElement() throws NoSuchElementException
        {
            if (pos >= objs.length )
                throw new NoSuchElementException();
            return objs[pos++];
        }
    };
 }
}


transparent
Anonymat...


Attr nom = new Attr("Nom"){
  public Object setVal(Object nv){
    System.out.println("nom est mis à: " +nv);
    return super.setVal(nv);
  }
};





Hugues Fauconnier 2002-01-11