From 9fe033ea88c2f705ec18c232873d056e0c229d72 Mon Sep 17 00:00:00 2001 From: Gaspard Coulet Date: Wed, 28 Apr 2021 23:05:53 +0200 Subject: Initial commit --- .../HLIN505/src/tp7/fabriquePerso.java | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sem_5/HLIN505_Java/HLIN505/src/tp7/fabriquePerso.java (limited to 'sem_5/HLIN505_Java/HLIN505/src/tp7/fabriquePerso.java') diff --git a/sem_5/HLIN505_Java/HLIN505/src/tp7/fabriquePerso.java b/sem_5/HLIN505_Java/HLIN505/src/tp7/fabriquePerso.java new file mode 100644 index 0000000..5123c79 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/tp7/fabriquePerso.java @@ -0,0 +1,38 @@ +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; + } +} -- cgit v1.2.3