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 utilisant des objets. La POO améliore la productivité et la maintenabilité. En POO, tout est considéré comme un objet. Les objets sont créés ou instanciés à l'aide de classes. Constructeur et Destructeur sont des termes courants dans la programmation orientée objet. Cet article explique la différence entre un constructeur et un destructeur. Un constructeur et un destructeur sont des fonctions membres spéciales 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é pour désallouer la mémoire d'un objet.

CONTENU

1. Vue d'ensemble 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 ou destructeur sous forme tabulaire
6. Résumé

Qu'est-ce qu'un constructeur?

Un constructeur est une fonction membre spéciale de la classe permettant d'allouer de la mémoire à un objet. Il peut être utilisé pour fournir des valeurs aux membres de données. Le constructeur est appelé lors de la création de l'objet. Il porte le même nom que le nom de la classe. Un constructeur ne renvoie aucune valeur. Par conséquent, il ne contient pas de type de retour. Un constructeur peut également accepter des paramètres. Un constructeur avec des paramètres s'appelle un constructeur paramétré.

Voici un exemple de constructeur.

Classe publique Rectangle

int longueur, largeur;

rectangle public (int p, int q)

longueur = p;

largeur = q;

public int CalculateArea ()

retour (longueur * largeur);

Selon le code ci-dessus, le constructeur a le même nom que le nom de la classe. Le constructeur Rectangle accepte deux paramètres. Ils sont p et q. La valeur entière p est assignée à la longueur. La valeur entière q est assignée à la largeur. Dans la zone calcualteArea, la multiplication de la longueur et de la largeur est calculée pour trouver l'aire du rectangle. Dans le programme principal, le programmeur peut créer un objet de type Rectangle et transmettre les arguments. par exemple. 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 existe un constructeur sans aucun paramètre, il est appelé constructeur par défaut. Si le programmeur ne définit pas de constructeur, le constructeur par défaut sera appelé. S'il existe une classe en tant qu'étudiant et que le programmeur crée un objet de type étudiant, le constructeur par défaut est appelé. par exemple. Étudiant s1 = nouvel étudiant (); 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 membre spéciale de la classe. Il est utilisé pour désallouer de la mémoire pour un objet créé par le constructeur. Le destructeur est appelé 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. Donc, destructor ne supporte pas la surcharge. La déclaration d'un destructeur est considérée comme une bonne pratique de programmation car elle libère de l'espace mémoire et cet espace peut être utilisé pour stocker d'autres objets. La syntaxe de destructor est similaire à ~ className () . par exemple. ~ Rectangle () ; Il ne peut y avoir qu'un seul destructeur dans une classe.

Quelles sont les similitudes entre constructeur et destructeur?

  • Le constructeur et le destructeur sont associés aux 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 constructeur et destructeur?

Constructeur vs Destructeur

Un constructeur est un membre spécial de la classe utilisé pour allouer de la mémoire à un objet.. Un destructeur est un membre spécial de la classe utilisé pour libérer la mémoire d'un objet..
 Méthode d'invocation
Un constructeur est appelé lors de la création de l'objet. Un destructeur est appelé lorsque l'objet est détruit ou supprimé.
Usage
Un constructeur est utilisé pour allouer de la mémoire aux objets. Un destructeur est utilisé pour libérer de la mémoire pour les objets.
 Paramètres
Un constructeur accepte les paramètres. Un destructeur n'accepte pas de 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 la classe. Un destructeur a le même nom que le nom de la classe avec un symbole tilde (~).
Surcharge
Un constructeur peut être surchargé. Un destructeur ne peut pas être surchargé.

Résumé - Constructeur contre Destructeur

La programmation orientée objet est un paradigme commun au développement logiciel. Il peut simplifier un projet complexe. Un constructeur et un destructeur sont utilisés en POO. 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é pour libérer la mémoire d'un objet..

Téléchargez le PDF de Constructor vs Destructor

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

Référence:

1.tutorialspoint.com. “Objet et classes Java.” Le point, Disponible ici