Différence entre la variable d'instance et la variable locale

Différence entre la variable d'instance et la variable locale
Différence entre la variable d'instance et la variable locale

Vidéo: Différence entre la variable d'instance et la variable locale

Vidéo: Différence entre la variable d'instance et la variable locale
Vidéo: La charpente (introduction) - NLAB#26 2024, Novembre
Anonim

Variable d'instance vs variable locale

Une variable d'instance est un type de variable présent dans la programmation orientée objet. C'est une variable qui est définie dans une classe, et chaque objet de cette classe contient une copie distincte de cette variable. D'autre part, l'utilisation de variables locales n'est pas limitée aux langages de programmation orientés objet. C'est une variable qui ne peut être évaluée que dans un bloc de code particulier (par exemple, une fonction, un bloc de boucle, etc.) dans lequel elle est définie. Pour cette raison, on dit que les variables locales ont une portée locale.

Qu'est-ce qu'une variable d'instance ?

Les variables d'instance sont utilisées dans la programmation orientée objet pour stocker l'état de chaque objet dans une classe. Elles sont également appelées variables de membre ou variables de champ. Les variables d'instance sont déclarées sans utiliser le mot-clé static en Java. Les valeurs stockées dans les variables d'instance sont uniques à chaque objet (chaque objet a une copie distincte) et les valeurs stockées dans celles-ci représentent l'état de cet objet. L'espace pour une variable d'instance est alloué dans le tas, lorsque cet objet est alloué dans le tas. Par conséquent, les variables d'instance sont conservées en mémoire tant que l'objet est actif. Par exemple, la couleur d'une voiture est indépendante de la couleur d'une autre voiture. Ainsi, la couleur d'un objet voiture peut être stockée dans une variable d'instance. En pratique, les variables d'instance sont déclarées à l'intérieur des classes et à l'extérieur des méthodes. Habituellement, les variables d'instance sont déclarées comme privées afin qu'elles ne soient accessibles qu'au sein de la classe déclarée.

Qu'est-ce qu'une variable locale ?

Les variables locales sont des variables ayant une portée locale, et elles sont déclarées dans un bloc de code spécifique. Les variables locales peuvent être vues comme des variables utilisées par une méthode pour stocker son état temporaire. La portée d'une variable locale est déterminée à l'aide de l'emplacement où la variable est déclarée et aucun mot-clé spécial n'est utilisé à cette fin. En règle générale, l'accès à une variable locale est limité dans le bloc de code dans lequel elle est déclarée (c'est-à-dire entre les accolades ouvrante et fermante de ce bloc de code). Les variables locales sont généralement stockées dans la pile des appels. Cela permettrait aux appels de fonction récursifs de conserver leurs propres copies des variables locales à stocker dans des espaces d'adressage mémoire séparés. Lorsque la méthode termine son exécution, les informations sur cette méthode sont extraites de la pile des appels, détruisant également les variables locales qui ont été stockées.

Quelle est la différence entre une variable d'instance et une variable locale ?

Les variables d'instance sont déclarées dans les classes en dehors des méthodes, et elles stockent l'état d'un objet, tandis que les variables locales sont déclarées dans les blocs de code, et elles sont utilisées pour stocker l'état d'une méthode. Une variable d'instance est active tant que l'objet qui contient cette variable est actif, tandis qu'une variable locale est active pendant l'exécution de cette méthode/bloc de code. Une variable d'instance (qui est déclarée publique) est accessible au sein de la classe, alors qu'une variable locale n'est accessible qu'au sein du bloc de code dans lequel elle est déclarée. L'utilisation des variables d'instance est uniquement limitée à la programmation orientée objet, tandis que les variables locales n'ont pas une telle limitation.

Conseillé: