Différence entre constructeur et destructeur

Différence entre constructeur et destructeur

Différence clé - Constructeur contre Destructeur
 

La plupart des langages de programmation prennent en charge la programmation orientée objet (OOP). C'est le paradigme qui aide à modéliser un logiciel ou un programme à l'aide d'objets. OOP améliore la productivité et la maintenabilité. Dans OOP, tout est considéré comme un objet. Les objets sont créés ou instanciés à l'aide de classes. Le constructeur et le destructeur sont des termes communs dans la programmation orientée objet. Cet article traite de la différence entre un constructeur et un destructeur. Un constructeur et un destructeur sont une fonction de membre spécial dans une classe. Un constructeur et un destructeur ont le même nom que la classe, mais le destructeur a un signe Tilde (~). Le différence clé entre un constructeur et un destructeur est que Un constructeur est utilisé pour allouer de la mémoire à un objet tandis qu'un destructeur est utilisé à la mémoire de DealLocation d'un objet.

CONTENU

1. Aperçu et différence clé
2. Qu'est-ce qu'un constructeur
3. Qu'est-ce qu'un destructeur
4. Similitudes entre constructeur et destructeur
5. Comparaison côte à côte - Constructeur vs destructeur sous forme tabulaire
6. Résumé

Qu'est-ce qu'un constructeur?

Un constructeur est une fonction de membre spécial dans la classe pour allouer de la mémoire à un objet. Il peut être utilisé pour fournir des valeurs pour les membres de données. Le constructeur est invoqué lorsque l'objet est créé. Il a le même nom que le nom de classe. Un constructeur ne renvoie aucune valeur. Par conséquent, il ne contient pas de type de retour. Un constructeur peut également accepter les paramètres. Un constructeur avec paramètres est connu comme un constructeur paramétré.

Un exemple de constructeur est le suivant.

classe publique rectangle

longueur int, largeur;

Rectangle public (int p, int q)

longueur = p;

largeur = q;

public int calculatearea ()

retour (longueur * largeur);

Selon le morceau de code ci-dessus, le constructeur a le même nom que le nom de classe. Le rectangle du constructeur accepte deux paramètres. Ils sont p et q. La valeur entière p est attribuée à la longueur. La valeur entière q est affectée à la largeur. Dans le calcualteaa, la multiplication de la longueur et de la largeur est calculée pour trouver la zone du rectangle. Dans le programme principal, le programmeur peut créer un objet de rectangle de type et passer les arguments. e.g. Rectangle rect1 = nouveau rectangle (2,3). Ensuite, le constructeur paramétré est appelé et attribue les valeurs à la longueur et à la largeur.

Figure 01: Constructeur et destructeur

Lorsqu'il y a un constructeur sans paramètres, il est appelé constructeur par défaut. Si le programmeur ne définit pas de constructeur, le constructeur par défaut sera invoqué. S'il y a une classe en tant qu'élève et lorsque le programmeur crée un objet d'élève de type, le constructeur par défaut est appelé. e.g. Student S1 = New Student (); Il peut y avoir plusieurs constructeurs avec différents paramètres et différents types de données dans une classe. Le constructeur approprié peut être appelé en conséquence. Par conséquent, les constructeurs peuvent être surchargés.

Qu'est-ce qu'un destructeur?

Un destructeur est une fonction de membre spécial dans la classe. Il est utilisé pour désallocation de la mémoire pour un objet créé par le constructeur. Le destructeur est invoqué lorsque l'objet est détruit. Il effectue le stockage de nettoyage qui n'est plus nécessaire.  Comme le constructeur, le destructeur a le même nom que la classe. Il contient également un symbole Tilde (~).

Un destructeur ne renvoie aucune valeur. Contrairement à un constructeur, le destructeur n'accepte aucun paramètre. Ainsi, le destructeur ne prend pas en charge la surcharge. Déclarer un destructeur est considéré comme une bonne pratique de programmation car il libère l'espace mémoire et cet espace peut être utilisé pour stocker d'autres objets. La syntaxe de Destructor est similaire à ~ className () . e.g. ~ Rectangle () ; Il ne peut y avoir qu'un seul destructeur dans une classe.

Quelles sont les similitudes entre le constructeur et le destructeur?

  • Le constructeur et le destructeur sont associés à des objets.
  • Le constructeur et le destructeur ne renvoient aucune valeur.
  • Le constructeur et le destructeur sont appelés automatiquement.

Quelle est la différence entre le constructeur et le destructeur?

Constructeur vs destructeur

Un constructeur est un membre spécial de la classe qui est utilisé pour allouer de la mémoire à un objet. Un destructeur est un membre spécial de la classe qui est utilisé pour traiter la mémoire d'un objet.
 Méthode d'invoquer
Un constructeur est invoqué lorsque l'objet est créé. Un destructeur est appelé lorsque l'objet est détruit ou supprimé.
Usage
Un constructeur est utilisé pour attribuer la mémoire aux objets. Un destructeur est utilisé pour traiter la mémoire des objets.
 Paramètres
Un constructeur accepte les paramètres. Un destructeur n'accepte pas les paramètres.
Nombre de constructeurs et de destructeurs
Il peut y avoir plusieurs constructeurs avec un nombre différent de paramètres et différents types de paramètres. Il peut y avoir un seul destructeur dans la classe.
Vitesse d'exécution
Un constructeur a le même nom que le nom de classe. Un destructeur a le même nom que le nom de classe avec un symbole Tilde (~).
Surcharge
Un constructeur peut être surchargé. Un destructeur ne peut pas être surchargé.

Résumé - Constructeur contre Destructeur

La POO est un paradigme commun dans le développement de logiciels .Il peut simplifier un projet complexe. Un constructeur et un destructeur sont utilisés dans OOP. Un constructeur et un destructeur ont le même nom que la classe, mais le destructeur a un signe ~. La différence entre un constructeur et un destructeur est qu'un constructeur est utilisé pour allouer de la mémoire à un objet tandis qu'un destructeur est utilisé à la mémoire de détention d'un objet.

Téléchargez le PDF du constructeur vs destructeur

Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne selon la note de citation. Veuillez télécharger la version PDF ici: différence entre constructeur et destructeur

Référence:

1.tutorielpoint.com. «Objet Java et classes." Le point, Disponible ici