Manipuler les objets
1. Les constructeurs
a. Déclaration
Quand vous instanciez une classe, c’estàdire quand vous créez un objet du type de classe donné, il vous faut bien
souvent appeler diverses méthodes pour remplir ses attributs avec les bonnes valeurs. Pour reprendre l’exemple de
la classe Ecran, nul doute qu’en créant un objet de ce type vous voudrez positionner les attributs type, marque,
modèle, etc, aux bonnes valeurs. La solution actuelle consiste à appeler explicitement les méthodes prévues à cet
effet : modif_type(), modif_ marque(), modif_modèle(), et ainsi de suite.
Il existe un moyen plus efficace et implicite de positionner les bonnes valeurs des attributs (et d’effectuer toute autre
opération nécessaire) dès l’instanciation. Ce moyen, c’est le constructeur.
Le constructeur est une méthode particulière qui est appelée automatiquement dès que vous créez un objet sans
que vous ayez à le préciser, que se soit par déclaration ou allocation dynamique (via un pointeur). Dans cette
méthode, libre à vous de faire ce que vous voulez, mais dans 90% des cas son rôle sera de donner aux attributs
leurs bonnes valeurs initiales, ou des valeurs par défaut.
Un constructeur doit respecter les deux propriétés suivantes :
q Il porte le même nom que la classe.
q Il ne retourne pas de valeur.
Via le polymorphisme paramétrique (qu’on appelle aussi la surcharge des méthodes) vous pouvez créer autant de
constructeurs que vous le souhaitez, un par cas selon les paramètres passés. En algorithmique vous rajouterez le
motclé Constructeur devant le nom de la méthode en remplacement de Procédure ou Fonction. Ce n’est pas
forcément obligatoire car aucune autre méthode ne doit avoir le même nom que la classe.
b. Appel implicite
La classe Ecran se voit complétée de deux constructeurs : le premier ne reçoit aucun paramètre et sera utilisé lorsque
l’objet ne reçoit aucune valeur lors de sa création. Le second prend trois paramètres (type, marque, modèle) pour les
initialiser à la création de l’objet.
Un constructeur qui ne reçoit aucun paramètre est appelé le constructeur par défaut. Il est appelé quand
aucune valeur n’est passée à l’objet lors de sa création.
Classe Ecran
attributs privés
type :chaîne
marque :chaîne
modèle :chaîne
méthodes publiques
Constructeur Ecran()
Début
Afficher "Constructeur par défaut"
this.type←"Inconnu"
this.marque←"Inconnu"
this.modèle←"Inconnu"
Fin
Constructeur Ecran(t,mq,mdl :chaînes)
Début
Afficher "Constructeur avec 3 arguments"
this.type←t
this.marque←mq
this.modèle←mdl
Fin
FinClasse
- 1 -
© ENI Editions - All rigths reserved - Jonifar lina
208
1. Les constructeurs
a. Déclaration
Quand vous instanciez une classe, c’estàdire quand vous créez un objet du type de classe donné, il vous faut bien
souvent appeler diverses méthodes pour remplir ses attributs avec les bonnes valeurs. Pour reprendre l’exemple de
la classe Ecran, nul doute qu’en créant un objet de ce type vous voudrez positionner les attributs type, marque,
modèle, etc, aux bonnes valeurs. La solution actuelle consiste à appeler explicitement les méthodes prévues à cet
effet : modif_type(), modif_ marque(), modif_modèle(), et ainsi de suite.
Il existe un moyen plus efficace et implicite de positionner les bonnes valeurs des attributs (et d’effectuer toute autre
opération nécessaire) dès l’instanciation. Ce moyen, c’est le constructeur.
Le constructeur est une méthode particulière qui est appelée automatiquement dès que vous créez un objet sans
que vous ayez à le préciser, que se soit par déclaration ou allocation dynamique (via un pointeur). Dans cette
méthode, libre à vous de faire ce que vous voulez, mais dans 90% des cas son rôle sera de donner aux attributs
leurs bonnes valeurs initiales, ou des valeurs par défaut.
Un constructeur doit respecter les deux propriétés suivantes :
q Il porte le même nom que la classe.
q Il ne retourne pas de valeur.
Via le polymorphisme paramétrique (qu’on appelle aussi la surcharge des méthodes) vous pouvez créer autant de
constructeurs que vous le souhaitez, un par cas selon les paramètres passés. En algorithmique vous rajouterez le
motclé Constructeur devant le nom de la méthode en remplacement de Procédure ou Fonction. Ce n’est pas
forcément obligatoire car aucune autre méthode ne doit avoir le même nom que la classe.
b. Appel implicite
La classe Ecran se voit complétée de deux constructeurs : le premier ne reçoit aucun paramètre et sera utilisé lorsque
l’objet ne reçoit aucune valeur lors de sa création. Le second prend trois paramètres (type, marque, modèle) pour les
initialiser à la création de l’objet.
Un constructeur qui ne reçoit aucun paramètre est appelé le constructeur par défaut. Il est appelé quand
aucune valeur n’est passée à l’objet lors de sa création.
Classe Ecran
attributs privés
type :chaîne
marque :chaîne
modèle :chaîne
méthodes publiques
Constructeur Ecran()
Début
Afficher "Constructeur par défaut"
this.type←"Inconnu"
this.marque←"Inconnu"
this.modèle←"Inconnu"
Fin
Constructeur Ecran(t,mq,mdl :chaînes)
Début
Afficher "Constructeur avec 3 arguments"
this.type←t
this.marque←mq
this.modèle←mdl
Fin
FinClasse
- 1 -
© ENI Editions - All rigths reserved - Jonifar lina
208
