Objet vs Instance
La programmation orientée objet (POO) est l'un des paradigmes de programmation les plus populaires. En POO, l'accent est mis sur la réflexion sur le problème à résoudre en termes d'éléments du monde réel et sur la représentation du problème en termes d'objets et de leur comportement. De nombreux langages de programmation prenant en charge les aspects clés de la POO (appelés langages POO) ont la classe comme principal outil de programmation. Ils sont dits basés sur les classes. Les classes sont une représentation abstraite d'objets du monde réel. Les classes ont des propriétés appelées attributs. Les attributs sont implémentés en tant que variables globales et d'instance. Les méthodes des classes représentent ou définissent le comportement de ces classes. Les méthodes et les attributs des classes sont appelés les membres de la classe. En termes très simples, une classe est un plan ou un modèle pour un objet spécifique de la vie réelle. Ainsi, un objet est le ou les blocs de mémoire utilisés pour stocker les informations nécessaires selon ce plan. L'instance est un bloc de mémoire qui fait référence à un objet.
Qu'est-ce qu'un objet ?
Les objets sont les résultats de l'instanciation d'une classe. L'instanciation est le processus consistant à prendre le modèle et à définir chaque attribut et comportement afin que l'objet résultant représente réellement un objet réel. L'objet est un bloc de mémoire dédié et continu alloué pour stocker des informations telles que des variables, des méthodes ou des fonctions, etc. L'objet est créé à l'aide de l'opérateur new, en langage de programmation Java. Par exemple, s'il existe une classe appelée Car, les éléments suivants peuvent être utilisés pour créer un objet de la classe Car.
nouvelle voiture();
Ici, un objet Car est créé par l'opérateur new et une référence à l'objet est renvoyée. Le nouvel opérateur avec le constructeur de la classe Car est utilisé pour créer le nouvel objet. La durée de vie de l'objet commence à partir de l'appel à son constructeur jusqu'au moment où il est détruit. Une fois qu'un objet n'est pas référencé, il sera supprimé/détruit par le ramasse-miettes.
Qu'est-ce qu'une instance ?
Instance est un bloc de mémoire qui contient la référence à un objet. En d'autres termes, Instance conservera l'adresse du bloc de mémoire de départ où l'objet est stocké. En effet, le nom de l'instance peut être utilisé pour accéder au début de la zone mémoire de l'objet. Les décalages par rapport à la mémoire de départ sont calculés par le moteur d'exécution afin que nous puissions accéder à l'endroit où les données individuelles ou les références de méthode sont stockées. Le code Java suivant peut être utilisé pour créer une instance d'un objet Car.
Voiture maVoiture=nouvelle Voiture();
Comme mentionné ci-dessus, le nouvel opérateur crée l'objet Car et lui renvoie la référence. Cette référence est stockée dans la variable de type Voiture myCar. Ainsi, myCar est l'instance de l'objet Car créé.
Quelle est la différence entre un objet et une instance ?
Object est un bloc de mémoire contigu qui stocke les informations réelles qui distinguent cet objet des autres objets, tandis qu'une instance est une référence à un objet. C'est un bloc de mémoire qui pointe vers l'adresse de départ de l'endroit où l'objet est stocké. Deux instances peuvent faire référence au même objet. Les durées de vie d'un objet et d'une instance ne sont pas liées. Par conséquent, une instance peut être nulle. Une fois que toutes les instances pointant vers un objet sont supprimées, l'objet sera détruit.