[debat] paramètres au construceur ou methode init?
Bonjour à tous,
j'ai créé un certain nombre de classe ces derniers temps, et à chaque fois que je créé une nouvelle classe, je me pose la question:
"est-ce que je met tout un tas de paramètres dans le constructeur ou est-ce que je ne fais qu'un constructeur par défaut et je créé une méthode d'initialisation pour ma classe?"
Exemple: je fais ça
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
classe MaClasse
{
public:
MaClasse(int val1, int val2, string leNom);
private:
int m_valeur1,m_valeur2;
string m_leNom;
}
MaClasse::MaClasse(int val1, int val2, string leNom)
{
m_valeur1 = val1;
m_valeur2 = val2;
m_leNom = leNom;
} |
ou ça?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
classe MaClasse
{
public:
MaClasse();
void init(int val1, int val2, string leNom);
private:
int m_valeur1,m_valeur2;
string m_leNom;
}
MaClasse::MaClasse(){}
void MaClasse::init(int val1, int val2, string leNom)
{
m_valeur1 = val1;
m_valeur2 = val2;
m_leNom = leNom;
} |
Dans quel cas utiliser quelle méthode? Qu'en pensez-vous?