Programmation/Programmation orientée objet/Instanciation

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche

L'instanciation d'une classe c'est créer un objet ayant pour modèle la classe concernée. Cette opération est assimilable à l'allocation d'une variable (objet) d'un certain type (classe).

Une instance (aussi appelée objet) est le résultat de l'instanciation (création d'un objet de la classe voulue).

Il est possible d'allouer un objet statique (zone des variables statiques). L'objet est alors libéré automatiquement (sortie de programme pour une instance globale, sortie de fonction pour une instance locale à la fonction, ...). Certains langages (tel Java) n'autorisent pas ce genre d'allocation.

Il est également possible d'allouer un objet dynamiquement en utilisant explicitement une instruction d'allocation (généralement un opérateur nommé new). L'objet doit être libéré explicitement (C++), ou il peut être libéré automatiquement par un ramasse-miettes (Java, C#). Un ramasse-miettes s'occupe de libérer les espaces de mémoire qui ne sont plus référencés, et se déroule en général de façon asynchrone (la libération n'est pas immédiate).

Une fois l'espace mémoire alloué à un objet, les champs de celui-ci sont initialisés par le constructeur invoqué lors de l'instanciation. Un constructeur est une méthode spéciale qui ne retourne rien. En Java, C++ et C#, le constructeur des instances d'une classe doit porter le même nom que la classe.