Le constructeur et le destructeur sont deux méthodes particulières qui sont appelées respectivement à la création et à la destruction d’un objet. Par défaut, toute classe a un constructeur et un destructeurs.
Table of Contents
Constructeurs
Un constructeur est une fonction membre dont le nom est le même que celui de la classe ;
- Un constructeur n’a pas de type ;
- On peut avoir plusieurs constructeurs ;
- En fonction du nombre et du type des arguments passés à l’appel, le bon constructeur est choisi.
Il existe trois catégories de constructeurs :
• Constructeurs d’instance : Ce sont les constructeurs les plus fréquents et parfois appelés juste ‘constructeurs’. Ils portent le même nom que la classe, et sont invoqués lors de la création d’un nouvel objet.
• Constructeurs privés : Ils ne sont utilisés qu’avec des classes qui ne contiennent que des membres statiques.
• Constructeurs statiques : Ils sont utilisés pour initialiser une classe. Ils sont appelés avant la création de tout objet et avant tout appel à un membre statique de la classe.
Mot clé « this »
this est une référence sur l’objet courant qui est utilisée pour accéder aux données membres dans un constructeur d’instance (ou des méthodes accesseurs). Dans ce cas, on peut utiliser les mêmes noms pour les champs et les paramètres. Ce mot-clé ne peut être utilisé avec les constructeurs statiques ou les champs.
Constructeurs privés
Les constructeurs privés sont utilisés avec des classes qui ne contiennent que des membres statiques. Les autres classes, sauf celles imbriquées dans la même classe, ne sont pas autorisées à créer des instances de cette classe. Le constructeur privé est un constructeur vide dont le travail est d’empêcher la génération d’un constructeur par défaut pour la classe
Constructeurs statiques
Les constructeurs statiques sont utilisés pour initialiser une classe ou n’importe quelle donnée statique, ou pour effectuer une action particulière devant être effectuée une seule fois. Ils sont appelés avant la création de tout objet et avant tout appel à un membre statique de la classe.
Les destructeurs
Les destructeurs sont utilisés pour détruire les objets. Un destructeur est déclaré comme suit :
~MaClasse() { // Instructions de destruction. }
Ils portent le même nom que la classe, mais sont précédés par ~.