J'ai une classe A et BM s'étend A. Maintenant, je veux créer un constructeur d'un constructeur d'une option de génération de code d'Eclipse qui accepte les paramètres et définir des valeurs de tous les champs de B (je veux dire qu'il devrait également définir des champs hérités d'un ). p>
Y a-t-il un raccourci pour générer un tel code dans Eclipse? P>
3 Réponses :
Eclipse (3.5) n'a pas d'option intégrée pour ce cas particulier, mais je voudrais toutefois suggérer que vous avez un constructeur distinct Ce serait plus facile à maintenir. Si vous ajoutez par exemple un fichier déposé dans la super classe, vous devez vous rappeler de mettre à jour la sous-classe également. P> Super (...) code> dans son constructeur.
class A {
int i;
public A(int i) { this.i = i; }
}
class B extends A {
int j;
public B(int i, int j) {
super(i);
this.j = j;
}
}
Cliquez avec le bouton droit de la souris sur l'éditeur et cliquez sur "Source -> Générer constructeur à l'aide de champs". Vous pouvez sélectionner le super constructeur à utiliser et sélectionner également des variables d'instance à ajouter au constructeur. P>
Mais il ne générera pas d'initialisation pour les membres publics / protégés de la superque, que je suppose, c'est ce que l'OP est après.
@AIOOBE - D'accord, c'était le point principal de la question d'Akshay.
Il n'y a pas de moyen automatique de le faire et je suis proche de croire que l'équipe Eclipse l'a fait exprès comme cela conduirait à une mauvaise conception. P>
Construire une classe concerne l'initialisation des objets posséder uniquement les champs em>. Si vous devez définir des champs (Init) sur la superclasse, appelez le constructeur SuperClasses, si vous devez modifier des champs Superclass, appelez les méthodes Superclasses Getter et Setter. P>
Pour moi, c'est une mauvaise conception pour init des champs de superclasse et peut être évité facilement. P>