package tp7; import java.lang.reflect.*; import java.util.ArrayList; public class fabriquePerso { public Personnage creer(String name) throws ClassNotFoundException, InstantiationException, IllegalAccessException { if (name.equals("Persoinvisible") || name.equals("Persobonus")) { Class t = Class.forName(name); Personnage ret = (Personnage) t.newInstance(); return ret; } else { return null; } } public Personnage ficheperso (Personnage pers) { Class c=pers.getClass(); Field[] fields = c.getDeclaredFields(); ArrayList AF = tabtoarray(fields); Method[] Methodes = c.getDeclaredMethods(); while ((c=c.getSuperclass()) != null) { Field[] tmp = c.getDeclaredFields(); for (Field f : tmp) { AF.add(f); } } System.out.println("Entrer"); } public ArrayList tabtoarray(Field[] f){ ArrayList ret = new ArrayList(); for (int i =0; i < f.length; i ++) { ret.add(f[i]); } return ret; } }