Fonctionnement des méthodes New et Finalize dans une hiérarchie de classe
Mise à jour : novembre 2007
À chaque fois qu'une instance d'une classe est créée, le common language runtime (CLR) tente d'exécuter une procédure nommée New, si elle existe dans cet objet. New est un type de procédure appelé un constructor qui est utilisé pour initialiser de nouveaux objets avant l'exécution d'un autre code dans un objet. Un constructeur New peut être utilisé pour ouvrir des fichiers, se connecter à des bases de données, initialiser des variables et réaliser d'autres tâches qui doivent être effectuées avant qu'un objet ne soit utilisé.
Lorsqu'une instance d'une classe dérivée est créée, le constructeur Sub New de la classe de base s'exécute premièrement, suivi des constructeurs des classes dérivées. En effet, la première ligne de code d'un constructeur Sub New utilise la syntaxe MyBase.New()pour appeler le constructeur de la classe situé immédiatement au-dessus de celle-ci dans la hiérarchie de classe. Le constructeur Sub New est ensuite appelé pour chaque classe dans la hiérarchie de classe jusqu'à ce que le constructeur de la classe de base soit atteint. À ce stade, le code du constructeur de la classe de base s'exécute, suivi du code de chacun des constructeurs de toutes les classes dérivées ; le code des classes plus dérivées s'exécute en dernier lieu.
Lorsqu'un objet n'est plus nécessaire, le CLR appelle la méthode Finalize pour cet objet avant de libérer sa mémoire. La méthode Finalize est appelée un destructor car elle effectue des tâches de nettoyage, telles qu'un enregistrement d'informations d'état, une fermeture de fichiers et des connexions à des bases de données, ainsi que d'autres tâches qui doivent être effectuées avant de libérer l'objet.
Voir aussi
Concepts
Durée de vie d'un objet : création et destruction des objets