Bonjour,

J'aimerai savoir ce qui est le mieux (au sens plus propre, performant, intelligent, etc...) de faire pour ce cas de figure :


par exemple, on prend une classe Point, on veux faire une methode translater()
est ce que le mieux est que la methode ne retourne rien (void) ou retourne le point translaté ?

genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public void translater(double x, double y){
      this.x += x;
      this.y += y;
}
OU

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
public Point translater(double x, double y){
      this.x += x;
      this.y += y;
      return this;
}
Est ce que "return this" est correct ?
Pour moi, l'avantage de la seconde solution, c'est qu'on peut dans la methode appelante, enchainer les méthodes sur l'objet, genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
monPoint.translater(1,3).afficheCoordonnees();
Alors que dans la première solution, on est obligé de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
monPoint.translater(1,3);
monPoint.afficheCoordonnees();
Mais qu'est ce qu'est le mieux ? Ca dépend de ce qu'on veux faire ? Ce que je fais est complètement faux ?

Merci