Skip to main content

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 blah, et l'objet BA une variable d'instance appelée blah, les deux variables Blah sont des entités distinctes.Chaque variable est associée à l'objet qui le résume.Le nom complet de la variable bla associée à l'objet a est a.blah, tandis que le nom complet de la variable bla associée à 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 avoir sa propre valeur unique.

Les variables d'instance sont souvent confondues avecvariables 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'objetdans lequel il réside aussi bien que 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ù les variables d'instance publique 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 les unes des autres.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.