Introduction au constructeur et au destructeur

Constructeur et destructeur. Le constructeur est une fonction spéciale qui porte le même nom que celui de la classe dans laquelle elle a été définie. Il est appelé automatiquement chaque fois qu'une nouvelle instance est créée. Il est considéré comme un type spécial de fonction car il n'est pas nécessaire de l'appeler explicitement à l'aide de l'objet. Destructor any soit défini comme un type spécial de méthode qui peut être révoqué lorsque l'instance est supprimée. Le but du Destructor est de libérer la mémoire qu'il lie avec lui pendant que l'instance de la classe a été créée. Le concept de Destructor concerne la gestion de la mémoire afin que les ressources puissent être utilisées efficacement. Dans des langages comme C ++, il existe le concept de Destructor et pourrait être invoqué automatiquement une fois l'instance supprimée tandis que dans un langage comme Java, le concept de Destructor n'existe pas. Il a permis au programme d'être écrit de manière appropriée afin qu'il puisse être compilé correctement et être léger en termes de consommation de mémoire.

Comparaison directe entre constructeur et destructeur

Ci-dessous le top 4 des comparaisons entre constructeur et destructeur

Différences clés entre constructeur et destructeur

Il existe plusieurs différences entre les constructeurs et les destructeurs. Voici quelques-unes des différences courantes et importantes.

  • Le constructeur est appelé lorsqu'une instance de cette classe est créée. Il n'a pas besoin d'être appelé explicitement. Dans le cas du destructeur, il invoque lorsque l'instance d'une classe est supprimée. C'est également quelque chose qui intervient automatiquement juste après la suppression de l'objet.
  • Le constructeur conduit à occuper la mémoire du système en les localisant aux ressources et c'est tout le contraire dans le cas du destructeur. Dans destructor, la mémoire affectée aux ressources est libérée afin de pouvoir être utilisée par une autre ressource.
  • Pour déclarer le constructeur, il n'y a pas besoin de caractère spécial. On peut simplement créer une méthode dont le nom est similaire à celui de la classe. Dans le cas du destructeur, le signe tilde doit être utilisé pour introduire le destructeur dans le programme.
  • Le constructeur peut être utilisé dans le langage de programmation de niveau élevé et intermédiaire. Dans le cas du destructeur, il ne peut pas être utilisé dans le langage de haut niveau. C ++ est capable d'utiliser le destructeur mais le même n'est pas disponible en Java. Cela est dû au fait que le langage de programmation de haut niveau avait son propre mécanisme de gestion de la mémoire.
  • Le constructeur peut être utilisé très souvent dans le programme. Il est très simple à utiliser et réduit la complexité du programme. D'un autre côté, le destructeur est préférable d'être utilisé lorsqu'il est nécessaire de réduire la consommation de mémoire par les ressources du programme.

Comparaison directe entre constructeur et destructeur

ConstructeurDestructeur
Appelé lors de la création de l'instance
Lorsque l'instance ou l'objet d'une classe est créé, cela conduit à appeler automatiquement le constructeur qui exécutera toutes les instructions sous la méthode constructeur.
Appelé lors de la suppression d'instance
Lorsque l'instance ou l'objet est supprimé, le destructeur invoqué automatiquement et par la suite, les instructions de la classe destructrice sont exécutées séquentiellement.
Occupe la mémoire
Pendant que la classe est invoquée, elle alloue de la mémoire à toutes les ressources que la classe va utiliser davantage. Cela conduit à consommer la mémoire du système pour stocker les données de façon permanente ou temporaire.
Libère de la mémoire
Alors que le destructeur est invoqué, il libère tous les souvenirs que les ressources ont été occupées. La mémoire libérée peut être localisée vers d'autres ressources utilisées dans le programme.
Pris en charge dans les langues de niveau moyen et élevé
Le constructeur est appelé automatiquement chaque fois qu'une instance de cette classe a été créée et que cette fonctionnalité est prise en charge par les deux types de langages: les langages de programmation de niveau moyen et élevé.
Prise en charge uniquement dans une langue de niveau intermédiaire
Les fonctionnalités du destructeur ne sont prises en charge que dans un langage de niveau intermédiaire comme C ++. Lorsqu'il s'agit d'un langage de haut niveau comme Java, il n'autorise pas de telles fonctionnalités car il a sa propre façon de gérer la mémoire.
Aucun caractère spécial requis lors de la déclaration
Pour déclarer le constructeur, il suffit d'écrire le nom de la méthode qui doit être le même que celui de la classe. Aucun caractère spécial ne doit être requis pour déclarer un constructeur.
Tilde est utilisé lors d'une déclaration
Afin de déclarer le destructeur, il sera nécessaire d'utiliser un tilde. Le nom du constructeur doit être suivi du signe tilde et doit se terminer par de petits crochets comme il arrive dans chaque fonction.

Conclusion

  • Le constructeur n'est pas différent mais juste la méthode qui porte le même nom que celui de la classe. Il ne faut pas de temps pour être invoqué une fois les instances créées. L'objet peut être créé dans ce cas en utilisant la même syntaxe que celle utilisée pour créer un objet de n'importe quelle classe. Au moment où l'objet est créé, il occupe l'espace dans la mémoire et amène la déclaration du constructeur en exécution.
  • Le destructeur est quelque chose d'exactement opposé à celui du constructeur. Il est appelé immédiatement après la suppression de l'objet. En effet, lorsque l'objet est supprimé, il supprime toutes les ressources qui lui étaient localisées ce qui conduit à libérer toutes les mémoires qui leur étaient réservées pour que les nouvelles ressources puissent utiliser cette mémoire. Bien qu'il existe des différences entre les deux concepts, ils jouent tous deux un rôle essentiel dans la programmation et en particulier lorsque nous parlons de programmation efficace en utilisant le langage de niveau intermédiaire.

Articles recommandés:

Ceci est un guide sur la différence entre le constructeur et le destructeur. Ici, nous avons discuté d'une introduction au constructeur et au destructeur, les principales différences avec le tableau de comparaison. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. C ++ vs Java
  2. Questions d'entretiens chez C ++
  3. Questions d'entretiens chez Java Collections
  4. Carrière en programmation informatique