1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| //Instantiation dynamique de mes 3 prototypes
Class.forName("ProtoA");
Class.forName("ProtoB");
Class.forName("ProtoC");
// récupération du choix du protoype avec un scanner
Scanner saisie = new Scanner(System.in);
int choix = saisie.nextInt() - 1;
/* je déclare un objet prototype dans lequel je met le prototype correspondant,
on part du principe que 1 correspond à ObjetA, 2 à ObjetB etc...
Si choix vaut 1 on met le 1er prototype contenu dans ProtoManager (ici ProtoA)*/
Prototype objetChoisi = ProtoManager.get(choix);
/*Enfin j'instancie ma nouvelle classe que je met directement dans mon Manager
(La fonction nouveau() se contente de faire un add du paramètre
dans l'arrayList contenu dans la classe ObjetManager)*/
Manager.nouveau((Objet) objetChoisi.newInstance(param1, param2, ...)); |