Qu'est-ce qu'une variable d'instance?
Une variable d'instance est un élément de données dans la programmation orientée objet qui a sa propre valeur unique pour chaque objet dans lequel il réside. Les variables d'instance peuvent également être appelées membres d'instance, champs non statiques et membres de données. Ils sont une partie importante de la plupart des objets, tenant des données spécifiques que l'objet utilise pour le calcul.
Par exemple, s'il existe deux objets, A et B, où l'objet A a une variable d'instance appelée "bla" et l'objet B a également une variable d'instance appelée "blah", les deux variables "bla" sont des entités distinctes. Chaque variable est associée à l'objet qui le résume. Le nom complet de la variable "bla" associé à l'objet a est "a.blah", tandis que le nom complet de la variable "bla" associé à l'objet B est "B.blah". Chacun si ces variables peuvent avoir sa propre valeur. Si les objets A et B sont du même type, et qu'un autre objet de ce type, C, est créé, et l'objet C aura également une variable d'instance "Blah", qui peut l'avoirs propre valeur unique.
Les variables d'instance sont souvent confondues avec les variables statiques, mais les deux sont significativement différentes. Contrairement aux variables d'instance, dont chaque objet d'un type particulier a ses propres variables statiques n'ont qu'une seule valeur, et cette valeur est la même pour chaque objet du type approprié. Les variables statiques sont souvent appelées variables de classe, qui ne sont pas les mêmes que les variables d'instance.
Selon les propriétés de visibilité qui leur sont attribuées, les variables d'instance ne peuvent être visibles que dans un objet particulier, à un objet et à ses sous-classes, ou à l'objet dans lequel il réside ainsi qu'à tout autre objet. Ce type final de visibilité, appelé visibilité publique, est souvent considéré comme une mauvaise pratique, par exemple, car il est facile de violer les principes d'encapsulation dans la programmation orientée objet. Malgré ce tabou, il y a des moments où le public InstaLes variables NCE sont utiles. Par exemple, de nombreuses classes standard en Java ont des variables d'instance publique, ce qui permet parfois une modification facile des propriétés.
La visibilité d'une variable d'instance entre également en jeu avec l'héritage. Si une classe hérite d'un autre, cela ne donne pas immédiatement à les deux classes accès aux variables d'instance de l'autre. Les variables d'instance privées dans la superclasse et la sous-classe restent limitées uniquement à ces classes, donc une variable privée dans la sous-classe ne peut pas être vue par la superclasse, et vice versa. Les seules variables d'instance que la superclasse et la sous-classe peuvent voir sont des variables protégées dans la superclasse.