Le cycle de vie des objets
Qu’est-ce qu’un objet?
Si l’on jette un rapide coup d’œil par la fenêtre, nous pouvons y apercevoir : des voitures, des passants, des arbres, un immeuble, un avion… Ce sont les objets (au sens large) qui nous entourent et qui se détachent de l’arrière-plan. Leurs structures sont particulières ; ils présentent des caractéristiques uniques qui permettent de les distinguer les uns des autres. Ils ont également des dimensions particulières, et des couleurs qui les distinctes du décor qui les entoure.

Nous dirons que chacun de ses objets se caractérise par un ensemble d’attributs structuraux, prenant pour chaque objet une valeur particulière : ce passant est assez jeune, grand ; ce passant est plus petit et possède un sac à dos. Ce sont ces attributs structuraux qui vous permettent de distinguer une personne d’une autre.
Les attributs des objets
Nous avons l’habitude de décrire le monde qui nous entoure à l’aide d’une triade <entité, attribut, valeur>. Par exemple: Cette voiture de couleur rouge, l’individu de sexe masculin. Les objets se caractérisent par un ensemble d’attributs (couleur, marque, genre,…), prenant une valeur particulière et uniforme «sur tout l’objet».
Il faut faire attention que les attributs et les objets jouent des rôles différents. Il faut retenir que les attributs structurent nos objets. Ils servent, par exemple, sous forme d’adjectifs à qualifier les noms. Un même attribut peut définir un nombre important d’objets. Par exemple, une voiture ou une moto possèdent toutes les deux un attribut couleur.
L’instanciation
En POO, une classe est un modèle ou un plan pour créer des objets. Elle définit un ensemble de propriétés (ou attributs) et de comportements (ou méthodes) que les objets créés à partir de cette classe peuvent avoir. Les classes sont souvent considérées comme des « moules » à partir desquels des objets peuvent être créés.
Prenons l’exemple d’une classe “Véhicule”. La classe peut avoir des attributs (des variables) tels que la couleur, la marque, la longueur, etc. Elle peut également avoir des méthodes (des fonctions) telles que “accélérer”, “freiner”, “changer de vitesse”, etc.
Lorsqu’on souhaite créer un objet Véhicule, une méthode particulière dénommée constructeur est appelée par le système. Ce constructeur va concevoir l’objet graduellement et lui assignera des valeurs à ses attributs. Le résultat de cette méthode s’appelle une instance. Une instance est un objet créé à partir d’une classe. Chaque instance de classe a ses propres valeurs pour les propriétés de la classe.
Par exemple, pour notre classe « Véhicule », dans le schéma ci-dessous, nous créons trois instances de cette classe, “voitureRouge”, “voitureBleue”, “voitureNoire”. Il faut bien comprendre que chacune de ces instances possèdera ses propres valeurs pour les propriétés de la classe.
Lorsqu’une référence vers une instance de classe est supprimée, cela peut déclencher la destruction de l’objet, à moins qu’il n’y ait d’autres références qui pointent toujours vers l’objet. Dans ce cas, l’objet reste en vie jusqu’à ce que toutes les références soient supprimées. Si l’objet est détruit, le destructeur de l’objet est appelé, ce qui peut être utilisé pour effectuer des opérations de nettoyage, telles que la libération de la mémoire allouée dynamiquement ou la fermeture de connexions réseau. Il est important de noter que la destruction d’un objet peut également déclencher la destruction d’autres objets utilisés par l’objet, tels que des objets membres ou des objets référencés.