Obtenir des éléments de Composite Patter </ font>
Vérifiez avec la structure de classe suivante
| classe | Explication | 
|---|---|
| interface face  | 
Tapez et acceptez()Définir | 
| faceImple.class | Mettre en œuvre le visage | 
| faceList.class | Mettre en œuvre le visage Avoir une liste A une méthode qui émet un itérateur de liste  | 
| Visitor.class | Fournir un modèle de visiteur | 
| user(Main.class) | Vérifiez le fonctionnement | 
interface_face
interface face{
  void accept(Visitor visit);
}
faceImple.class
class faceImple implements face{
  public void accept(Visitor visitor){
         System.out.println("."+this);}
}
faceList.class
class faceList implements face{
  List ls = new ArrayList();
  void      add( face fc){ls.add(fc);}
  public    void accept(Visitor visit){
            visit.visitor(this);}
  Iterator  iterate(){return ls.iterator();}
}
Visitor.class
class Visitor{
      void visitor( faceImple imple ){
           imple.accept(this);}
      void visitor( faceList list ){
           Iterator it = list.iterate();
           while(it.hasNext()){
                 face fc = (face) it.next();
                 System.out.println("/"+fc);
                 fc.accept(this);
           }
      }
}
user(Main.class)
public static void main(String[] args){
       faceList f1 = new faceList();
       faceList f2 = new faceList();
       faceList f3 = new faceList();
       f3.add(new  faceImple());
       f3.add(new  faceImple());
       f2.add(new  faceImple());
       f2.add(f3);
       f1.add(f2);
       f1.accept(new Visitor());
}
        Recommended Posts