Différence entre constructeur et destructeur

Différence entre constructeur et destructeur

La classe est au cœur même de la programmation orientée objet (OOP). C'est comme un plan pour créer des objets qui fournit des valeurs initiales pour les variables des membres et les fonctions membres. C'est le bloc de construction de base de la POO qui définit la nature d'un futur objet. La chose la plus importante à propos d'une classe est qu'elle définit un nouveau type de données et une fois défini, il peut être utilisé pour créer des objets de ce type. Il suffirait donc de dire qu'une classe est un modèle pour un objet, et un objet en fait est une instance d'une classe. Il est utilisé pour créer et gérer de nouveaux objets et soutenir l'héritage, qui est l'un des concepts principaux des langages de programmation orientés objet tels que Java. En bref, une classe organise des informations sur un type de données afin de réutiliser les éléments lors de la mise en place de plusieurs instances de ce type de données. Les données ou variables définies dans une classe sont appelées variables d'instance.

Qu'est-ce qu'un constructeur?

Un constructeur est une fonction membre spécial d'une classe qui est appelée lorsque l'instance d'un objet est créée. Il peut parfois être difficile d'initialiser toutes les variables d'une classe chaque fois qu'une instance est créée. Comme l'exigence d'initialisation est courante dans la programmation orientée objet, il permet aux objets d'initialiser automatiquement lorsqu'ils sont créés. Ce processus d'initialisation automatique se fait grâce à l'utilisation d'un constructeur. La raison pour laquelle elle s'appelle Special est parce que la méthode d'instance a généralement le même nom que la classe. Il initialise un objet immédiatement après la création et peut être utilisé pour définir les valeurs des membres d'un objet. Un constructeur est syntaxiquement similaire à une méthode de programmation orientée objet et une méthode est une procédure associée à une classe et incluse dans n'importe quel objet de cette classe. En bref, un constructeur est appelé chaque fois qu'un objet d'une classe est créé. La chose la plus importante à propos des constructeurs est qu'ils n'ont pas de type de retour, pas même vide.

Qu'est-ce qu'un destructeur?

Un destructeur est entièrement un concept différent; C'est une méthode spéciale qui est appelée lorsque l'instance d'une classe est supprimée de la mémoire. Un destructeur est appelé automatiquement lorsqu'un objet n'est plus nécessaire ou est sur le point de disparaître ou est libéré explicitement. Le but principal d'un destructeur est de se débarrasser des ressources que l'objet utilisait pendant son cycle de vie. Il donne à l'objet une dernière chance de libérer n'importe quelle mémoire qu'il a allouée afin qu'il y ait suffisamment d'espace sur tas pour stocker de nouveaux objets pour exécuter efficacement les programmes. Les destructeurs sont souvent utilisés en conjonction avec les constructeurs, sauf qu'ils sont utilisés pour détruire des objets créés à l'aide de constructeurs. L'idée est de désitialiser les objets lorsqu'ils sont supprimés pour libérer de la mémoire pour de nouveaux objets. Comme les constructeurs, les destructeurs sont définis comme des sous-programmes dans la définition de la classe et ils ont le même nom que le nom de classe, sauf qu'un destructeur est préfixé avec un ~ (Tilde). Les destructeurs sont appelés explicitement en C ++, cependant, il n'y a pas de destructeurs en Java.

Différence entre constructeur et destructeur

But du constructeur et du destructeur

Les constructeurs et les destructeurs sont des fonctions de membres spéciaux de chaque classe mais avec des concepts différents. Un constructeur est utilisé pour initialiser l'instance d'une classe, ce qui signifie qu'il est invoqué chaque fois qu'une classe est instanciée, tandis qu'un destructeur est l'opposé d'un constructeur qui est appelé dans l'ordre inverse des constructeurs.

Allocation de mémoire

Un constructeur est appelé chaque fois qu'une nouvelle instance d'une classe est créée. Il s'agit essentiellement d'une fonction membre d'une classe qui initialise un objet immédiatement après la création et y attribue la mémoire. Un destructeur, en revanche, est appelé lorsque l'instance d'une classe est supprimée de la mémoire qui à tour de rôle se désinitialise des objets qui ont été créés à l'aide de constructeurs pour libérer de la mémoire pour de nouveaux objets.

Nom

Les constructeurs et les destructeurs sont des fonctions de membres spéciaux d'une classe avec le même nom que le nom de classe, sauf qu'un destructeur est préfixé avec un opérateur ~ (tilde). Un constructeur n'est rien d'autre qu'une méthode qui n'a pas de type de retour, pas même vide, tandis que les destructeurs sont exactement l'opposé des constructeurs.

Surcharge

Les constructeurs et les destructeurs sont appelés automatiquement après la création et la suppression. Cependant, contrairement aux constructeurs, les destructeurs ne peuvent pas être surchargés. La surcharge est un concept de programmation orienté objet qui vous permet de définir deux ou plusieurs fonctions du même nom afin que vous puissiez les appeler avec des listes d'arguments différentes.

Arguments

Dans la programmation orientée objet, les constructeurs acceptent souvent les arguments qu'ils utilisent pour définir les variables des membres requises, tandis que les destructeurs n'acceptent aucun argument.

Fonctionnement du constructeur et destructeur

Les constructeurs permettent à l'objet d'initialiser une partie de sa valeur avant son utilisation, tandis que les destructeurs permettent à l'objet d'exécuter une partie du code au moment où il est détruit.

 Versets de constructeur destructeur: graphique de comparaison

Résumé du constructeur vs. Destructeur

Les constructeurs et les destructeurs sont des fonctions de membres spéciaux d'une classe avec le même nom que le nom de classe, sauf que les destructeurs sont précédés d'un opérateur ~ tilde. Un constructeur n'est rien d'autre qu'une méthode sauf qu'elle s'appelle lorsque l'instance d'un objet est créée, tandis qu'un destructeur est exactement l'opposé des constructeurs qui sont appelés lorsque l'instance d'un objet est supprimée de mémoire. Le but des destructeurs est de désitialiser les objets qui ont été créés à l'aide de constructeurs afin de libérer de l'espace mémoire pour accueillir de nouveaux objets.