Salut !

Aurelien Mazurie wrote:

private MaClasse() // Constructeur principal (de base)
{
// routines d'initialisations...
}

public MaClasse(String[] ID) // Constructeur effectivement accessible
{
this(); // appel au constructeur "de base"
// traitement de l'argument ID...
}

public MaClasse(Objets[] obj) // Autre possibilit� d'accession au constructeur
{
// cr�ation d'un tableau String[] ID � partir de Objets[]
String[] ID = ...
this(ID);
}

Vous voyez ce que je veux faire ? J'ai deux fa�on d'indiquer � ma classe, pour son initialisation, un tableau. Soit c'est un tableau de String, soit c'est un tableau d'objets � partir duquel je g�n�re le tableau de String.
Le probl�me c'est qu'� la compilation on me dit que le constructeur MaClasse(Objets[] obj) n'est pas valide car il fait des op�rations AVANT l'appel au constructeur this(ID), qui est cens� �tre la premi�re chose appell�e... Or j'ai besoin de cr�er le tableau de String avant de l'injecter dans le constructeur capable de le g�rer.
Quelqu'un sait-il comment r�soudre le probl�me ?
D'une part tes "this(param�tres)" d'appel aux autres constructeurs DOIVENT �tre en tout premier car impossible de maniper l'objet s'il n'est pas construit, �a c'est simple.
Par contre vu ton probl�me, tu peux penser � appliquer le design pattern "factory" ou "builder", mais ton truc fera d�j� le boulot si tu mes les "this()" en premier, �a te suffira pour l'instant.

@++ !

--
Eric LEMAITRE, Home site : http://lemaitre.eric.free.fr/
CNAM Computer Engineer, MS/CS
Certified in Java, Cisco, Linux RedHat
Java : SCJP2 (#H3CPAR00B0)
Cisco : CCNA (#CSCO10300611), CCDA (#CSCO10437862)
Linux RedHat : RHCE (#806099741300292), RHCX



Répondre à