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 :

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);
  }
 
 (...)
 
}
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
 
public static loadPersonnageFromVie(int vie) {
  return new Personnage("BOB", vie);
}
 
public static loadPersonnageFromNom(String nom) {
  return new Personnage(nom, 50);
}
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
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;
  }
}
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...

Merci par avance .