Initialiser attributs dans un constructeur par le biais de méthode
MarreDeJava
Messages postés4Date d'inscriptionjeudi 25 mars 2010StatutMembreDernière intervention23 avril 2010
-
17 avril 2010 à 16:41
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
17 avril 2010 à 17:10
Bonjour à tous,
j'ai un problème concernant l'initialisation de mes attributs d'une classe. En effet je souhaite pouvoir les initialiser pour la plupart par des méthodes que j'ai crée.
Par exemple:
public Class Classe1 {
//Attribut
private int attribut1;
//Constructeur
public Classe1 () {
this.methode1(attribut1);
}
//Méthodes
public methode1(int i) {
@@@//UTILISATION DE i
}
//Accesseur
public int getAttribut1() {
return attribut1;
}
Voilà sauf que mon soucis est que mon getAttribut1 retourne toujours null, en fait je me sers de mon getter dans une autre méthode ce qui signifie que l'initialisation de l'attribut 1 ne fonctionne pas. Et lorsque que je passe en static ma méthode cela ne change rien, je ne vois pas comment faire pour l'initialiser de cette façon
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 17 avril 2010 à 16:53
Salut,
Pourquoi tu ne fais pas un setter ? Ce serait bien plus standard :
public Class Classe1 {
//Attribut
private int attribut1;
//Constructeur
public Classe1 (int attribut1) {
this.attribut1 = attribut1:
}
//Accesseur
public int getAttribut1() {
return attribut1;
}
public void setAttribut1(int i) {
attribut1=i;
}
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
MarreDeJava
Messages postés4Date d'inscriptionjeudi 25 mars 2010StatutMembreDernière intervention23 avril 2010 17 avril 2010 à 17:00
Merci pour la réponse,
le problème est que ma méthode est un peu plus compliquée, j'ai pas mal de codes dedans et plusieurs paramètres qui sont de plus des attributs de ma classe, donc cela ne peut pas s'appeler setAttribut1, et je pense que cela ne serait pas très "esthétique" de mettre
setAttribut1Attribut2(int i, String t,...) {} ??
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 17 avril 2010 à 17:10
Salut,
Le constructeur est fait pour initialiser les différents attributs de la classe (pense à la surcharge si tu veux faire des attributs facultatifs).
Si tu veux initialiser plusieurs attributs en même temps après avoir créer l'instance de ta classe, à toi de trouver une convention de nommage, cela n'est pas très important. Par contre, il faut bien l'appeler à partir de l'instance de ta classe, sinon tu perdras tes valeurs.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement