Quand les mutateurs nous mentent
[EDIT]Cette discussion est un fork de la discussionhttp://www.developpez.net/forums/d12...te-debutants-c de manière à recentrer le débat, n'hésitez pas à intervenir dans les deux discussions mais en veillant à ne pas les mélanger [/EDIT]
Bon, je rêve ou bien je lis qu'en gros il ne faut plus faire du C parce que le C++ fait la même chose et plus encore? 8O
Pour le fait que le C++ touche plus de paradigmes, est plus simple à apréhender .. etc, pas de problème. Mais qu'il puisse se substituer à C, c'est juste une connerie équivalente à dire que l'on peut substituer MongoDB à MySQL.
J'ai la flemme d'expliquer en détail mes propos .. je peux juste balancer un exemple: besoin d'un programme "compilé" prenant le moins d'espace possible.
Aussi, l'utilité d'utiliser des getter/setter est un maintenance plus aisée du code. Exemple débile en Java (ne pas faire attention à la division d'un ingredient par un entier):
1ere version:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
class CocaColaDuMcdo extends Drink
{
private Ingredient eau;
private Ingredient ingredientPrincipal;
private Ingredient ingredientX;
private Ingredient ingredientY;
public CocaColaDuMcdo(Ingredient eau, Ingredient ingredientPrincipal, Ingredient ingredientX, Ingredient ingredientY)
{
setIngredientPrincipal(ingredientPrincipal);
.
.
.
}
private Drink buildDrink()
{
this.getIngredientPrincipal() + this.getIngredientX() + ...
}
public Ingredient getIngredientPrincipal()
{
return this.ingredientPrincipal;
}
public setIngredientPrincipal(Ingredient ingredientPrincipal)
{
this.ingredientPrincipal = ingredientPrincipal;
} |
2ieme version (histoire de commencer l'arnaque):
Code:
1 2 3 4 5
|
public setIngredientPrincipal(Ingredient ingredientPrincipal)
{
this.ingredientPrincipal = ingredientPrincipal / 2;
} |