stealone
Messages postés33Date d'inscriptionsamedi 4 décembre 2010StatutMembreDernière intervention31 mars 2016
-
Modifié par stealone le 26/02/2016 à 02:32
stealone
Messages postés33Date d'inscriptionsamedi 4 décembre 2010StatutMembreDernière intervention31 mars 2016
-
27 févr. 2016 à 00:57
Bonjour,
J'ai été surpris dans un code source, que certains reconnaitrons peut-être, un constructeur dans lequel on passe un paramètre à l'objet en question. un code exemple est plus explicite. j'ai deux classe A et B qui ensemble feront un composant swing crée de toute pièce.
public class A { private Parametre champ1; public A(Parametre p){ this.champ1 = p; }
public void methode(){ System.out.println("aucune importance"); } }
//et dans la deuxième classe j'ai un code comme ceci
public class B{ private A champ2;
public B(Parametre p2){ this(new A(p2)); // je ne comprends pas cette ligne }
}
Comme j'ai mis en commentaire je ne comprends pas ce que cette ligne fais exactement. dans mes analyses je me suis dis que l'instance de l'objet B doit recevoir l'instance de l'objet A pur que les deux soient en fait un.
Si quelqu'un peut m'expliquer ce code, il pourra sauver une âme en détresse. et comment faire si l'on veut que l'objet A utilise un champ de l'objet B? Merci déjà.
Tout ce qui brille n'est pas or.
KX
Messages postés16722Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention25 septembre 2023126 26 févr. 2016 à 20:18
Bonjour,
Il doit manquer un morceau de code pour que ça fonctionne...
Quelque chose comme ceci :
public class B {
private A champ2;
public B(A a) { // constructeur 1
this.champ2 = a;
}
public B(Parametre p2) { // constructeur 2
this(new A(p2));
}
}
Dans le constructeur 2,
this(unObjetA)
appelles le constructeur 1 avec un paramètre de type A que l'on construit grâce à