Salut,
je viens de lire l'article suivant : http://gfx.developpez.com/tutoriel/j...teur-fabrique/
Je ne suis malheureusement pas certain d'avoir bien compris. J'essai donc un exemple complet :
Soit la classe Personnage avec en paramètre un nom et des vies. Avec des constructeurs classiques ça donne ça :
Jusque là, pas de problème, maintenant les fabriques :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public class Personnage { private String nom; private int vie; public Personnage(String nom, int vie) { this.setTo(nom, vie); } public Personnage(int vie) { this.setTo("BOB", vie); } (...) }
C'est ça? Je demande parce que je vois pas bien l'intérêt du code donné dans le tutoriel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public static loadPersonnageFromVie(int vie) { return new Personnage("BOB", vie); } public static loadPersonnageFromNom(String nom) { return new Personnage(nom, 50); }
Je vois pas trop l'intérêt des méthodes qui retourne "this". Si on les appelle, on récupère toujours la même instance...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 class NSString { public static NSString stringWithContentsOfFile(String path) { return new NSSString().loadFromFile(path); } public NSString encoding(String encoding) { setEncoding(encoding); return this; } public NSString error(NSError errorContainer) { setErrorContainer(errorContainer); return this; } }
Merci par avance.
Partager