« Maintenant, il est vraiment temps que je te parle des constructeurs. C'est un concept très simple. Les programmeurs ont inventé un moyen rapide de créer et initialiser des objets. »
Sans constructeur |
Avec un constructeur |
MonFichier fichier = new MonFichier();
fichier.initialiser("c:\data\a.txt");
String texte = fichier.lireTexte();
|
MonFichier fichier = new MonFichier("c:\data\a.txt");
String texte = fichier.lireTexte();
|
MonFichier fichier = new MonFichier();
fichier.initialiser("c:\data\", "a.txt");
String texte = fichier.lireTexte();
|
MonFichier fichier = new MonFichier("c:\data\", "a.txt");
String texte = fichier.lireTexte();
|
MonFichier fichier = new MonFichier();
fichier.initialiser("c:\data\a.txt");
MonFichier fichier2 = new MonFichier();
fichier2.initialiser(MonFichier fichier, "a.txt");
String texte = fichier2.lireTexte();
|
MonFichier fichier = new MonFichier("c:\data\a.txt");
MonFichier fichier2 = new MonFichier(fichier, "a.txt");
String texte = fichier2.lireTexte();
|
« Je viens de terminer l'apprentissage de la méthode initialiser... »
« Regarde mieux. Avec les constructeurs, le code est plus pratique et compact. »
« C'est vrai. J'ai une question. Je sais comment écrire une méthode initialiser dans une classe, mais comment puis-je écrire un constructeur ? »
« D'abord, regarde cet exemple : »
Sans constructeur |
Avec un constructeur |
classe MonFichier
{
private String nomFichier = null;
public void initialiser(String nom)
{
this.nomFichier = nom;
}
public void initialiser(String dossier, String nom)
{
this.nomFichier = dossier + nom;
}
public void initialiser(MonFichier fichier, String nom)
{
this.nomFichier = fichier.obtenirDossier() + nom;
}
…
}
|
classe MonFichier
{
private String nomFichier = null;
public MonFichier(String nom)
{
this.nomFichier = nom;
}
public MonFichier(String dossier, String nom)
{
this.nomFichier = dossier + nom;
}
public MonFichier(MonFichier fichier, String nom)
{
this.nomFichier = fichier.obtenirDossier() + nom;
}
…
}
|
« Il est facile de déclarer un constructeur dans une classe. Un constructeur est similaire à la méthode initialiser, à deux différences près :
1. Le nom d'un constructeur est le même que le nom de la classe (au lieu d'initialiser).
2. Un constructeur n'a pas de type (aucun type n'est indiqué). »
« OK, donc c'est comme initialiser, mais avec quelques différences. Je crois que j'ai compris. »
GO TO FULL VERSION