Les Contructeurs [Résolu]

stealone 33 Messages postés samedi 4 décembre 2010Date d'inscription 31 mars 2016 Dernière intervention - 26 févr. 2016 à 02:18 - Dernière réponse : stealone 33 Messages postés samedi 4 décembre 2010Date d'inscription 31 mars 2016 Dernière intervention
- 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.
Afficher la suite 

2 réponses

Répondre au sujet
KX 15088 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - 26 févr. 2016 à 20:18
0
Utile
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 à
new A(p2)
.

Voir : Using the this Keyword
Commenter la réponse de KX
stealone 33 Messages postés samedi 4 décembre 2010Date d'inscription 31 mars 2016 Dernière intervention - 27 févr. 2016 à 00:57
0
Utile
Merci à toi Kx pour ta promptitude à répondre à mes question. je plonge tout de suite sur ta suggestion et je reviens. Merci encore.
Commenter la réponse de stealone

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.