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 qui prennent en charge les aspects clés de la POO (appelés langages OOP) ont la classe comme outil de programmation principal. Ils sont appelés basés sur la classe. 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 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 réel spécifique. Alors,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 plan directeur 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éé avec l'utilisation d'un nouvel opérateur, 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. L'opérateur new avec le constructeur de la classe Car est utilisé pour créer le nouvel objet. La durée de vie de l'objet commence 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 garbage collector.
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, Instance conservera 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 d'objets. Les décalages de la mémoire de départ sont calculés par le moteur d'exécution afin que nous puissions aller là où les données individuelles ou les références de méthode sont stockées. Le code Java extrait suivant peut être utilisé pour créer une instance d'un objet Car.
Voiture myCar = nouvelle voiture ();
Comme mentionné ci-dessus, l'opérateur new crée l'objet Car et lui renvoie la référence. Cette référence est stockée dans la variable de type de 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.