Objet vs instance
La programmation orientée objet (POO) est l'un des paradigmes de programmation les plus populaires. Dans la 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 à représenter le problème en termes d'objets et de leur comportement. De nombreux langages de programmation qui prennent en charge les aspects clés de la POO (appelés langues OOP) ont la classe comme principal outil de programmation. Ils sont appelés basés sur les classes. Les classes sont une représentation abstraite des objets du monde réel. Les classes ont des propriétés appelées attributs. Les attributs sont mis en œuvre en tant que variables globales et d'instance. Les méthodes dans les classes représentent ou définissent le comportement de ces classes. Les méthodes et les attributs des classes sont appelés membres de la classe. En termes très simples, une classe est un plan ou un modèle pour un objet réel spécifique. Ainsi, un objet est le ou les blocs de mémoire utilisés pour stocker les informations nécessaires en fonction de 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 de prise du plan et de définir chaque attribut et chaque comportement afin que l'objet résultant représente réellement un objet de la vie réelle. 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éé avec l'utilisation d'un nouvel opérateur, dans le langage de programmation Java. Par exemple, s'il y a une classe appelée voiture, alors les éléments suivants peuvent être utilisés pour créer un objet de la classe de voiture.
nouvelle voiture();
Ici, un objet de voiture est créé par le nouvel opérateur et une référence à l'objet est retournée. Le nouvel opérateur ainsi que le constructeur de la classe de voiture sont utilisés pour créer le nouvel objet. La durée de vie de l'objet commence de l'appel à son constructeur au moment où il est détruit. Une fois qu'un objet n'est pas référé, il sera supprimé / détruit par le collecteur des ordures.
Qu'est-ce qu'une instance?
L'instance est un bloc de mémoire, qui contient la référence à un objet. En d'autres termes, l'instance gardera l'adresse du bloc de mémoire de départ où l'objet est stocké. En fait, le nom de l'instance peut être utilisé pour accéder au début de la zone de mémoire de l'objet. Les compensations de la mémoire de départ sont calculées par le moteur d'exécution afin que nous puissions passer à 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 de voiture.
Car myCar = new Car ();
Comme mentionné ci-dessus, le nouvel opérateur crée l'objet de voiture et renvoie la référence. Cette référence est stockée dans la variable de type voiture MyCar. Donc, MyCar est l'instance de l'objet de voiture créé.
Quelle est la différence entre un objet et une instance?
L'objet 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 fixée de l'endroit où l'objet est stocké. Deux instances peuvent se référer 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 pourrait être nul. Une fois que tous les instances pointant vers un objet sont supprimées, l'objet sera détruit.