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 définie dans une classe et chaque objet de cette classe contient une copie séparée de cette variable. D'autre part, l'utilisation de variables locales n'est pas limitée aux langages de programmation orientés objet. Il s’agit d’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 laquelle elle est définie. Pour cette raison, 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. Ils sont également appelés variables membres 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 pour chaque objet (chaque objet a une copie distincte) et les valeurs stockées en 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 de classes et de méthodes extérieures. Habituellement, les variables d'instance sont déclarées comme privées, de sorte qu'elles ne sont accessibles que dans la classe dans laquelle elles sont déclarées..
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 considérées comme des variables utilisées par une méthode pour stocker son état temporaire. L'étendue d'une variable locale est déterminée à l'aide de l'emplacement où la variable est déclarée et des mots-clés spéciaux ne sont pas utilisés à cette fin. En règle générale, l’accès à une variable locale est limité dans le bloc de code déclaré (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 d'appels. Cela permettrait aux appels de fonction récursifs de conserver leurs propres copies des variables locales à stocker dans des espaces adresse mémoire distincts. Lorsque la méthode termine son exécution, des informations sur cette méthode sont extraites de la pile d'appels, détruisant également les variables locales 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 des classes en dehors de méthodes et stockent l'état d'un objet, tandis que les variables locales sont déclarées dans des blocs de code et sont utilisées pour stocker l'état d'une méthode. Une variable d'instance est active tant que l'objet qui la contient est actif, tandis qu'une variable locale est active pendant l'exécution de cette méthode / de ce bloc de code. Une variable d'instance (déclarée publique) est accessible dans la classe, alors qu'une variable locale est accessible uniquement dans le bloc de code déclaré. L'utilisation de variables d'instance n'est limitée qu'à la programmation orientée objet, alors que les variables locales n'ont pas une telle limitation.