Tout en répondant à quelques questions sur ici plus tôt, et depuis peu de travail, je l'ai fait dernièrement, j'ai été me demandais pourquoi Java ne prend pas en charge la méthode de chaînage sur son construit dans les classes.
Si je devais créer un Car
de la classe par exemple, je pourrais le faire chainable par reutrning this
au lieu de void comme suit:
public class Car {
private String make;
public Car setMake(String make) {
this.make = make;
return this;
}
}
Est-il une raison particulière de les construit dans les bibliothèques n'ont pas tendance à faire les choses de cette façon? Est-il un inconvénient à ce que le chaînage de méthode?
J'ai peut-être oublié quelque chose, ce qui expliquerait l'absence de chaînage de méthode cependant, toute méthode de définition de type void par défaut doit retourner une référence à la présente (au moins à mes yeux elle le devrait). Ce serait faire de telles situations suivantes beaucoup plus propre.
container.add((new JLabel("label text")).setMaximumSize(new Dimension(100,200)));
plutôt que de la plus longue haleine: Remarque: Il ne serait pas vous empêcher de codage de cette façon, si vous l'avez souhaité.
JLabel label = new JLabel("label text");
label.setMaximumSize(new Dimension(100,200));
container.add(label);
Je serais très intéressé d'entendre les raisons derrière cette décision, Si je devais deviner ce serait qu'il y est des frais généraux associés à cela et devrait être utilisé seulement en cas de besoin.