Bonnes pratique : ne rien retourner ou retourner un objet ?
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:
1 2 3 4 5
|
public void translater(double x, double y){
this.x += x;
this.y += y;
} |
OU
Code:
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:
1 2
|
monPoint.translater(1,3).afficheCoordonnees(); |
Alors que dans la première solution, on est obligé de faire :
Code:
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