¿Qué es una variable de instancia?
Una variable de instancia es una pieza de datos en la programación orientada a objetos que tiene su propio valor único para cada objeto en el que reside. Las variables de instancia también pueden llamarse miembros de la instancia, campos no estáticos y miembros de datos. Son una parte importante de la mayoría de los objetos, que contienen piezas de datos específicas que el objeto usa para el cálculo.
Por ejemplo, si existe dos objetos, A y B, donde el objeto A tiene una variable de instancia llamada "bla", y el objeto B también tiene una variable de instancia llamada "bla," las dos variables "bla" son las entidades distintas. Cada variable está asociada con el objeto que lo encapsula. El nombre completo de la variable "bla" asociada con el objeto A es "A.Blah", mientras que el nombre completo de la variable "bla" asociada con el objeto B es "B.Blah". Cada uno si estas variables pueden tener su propio valor. Si los objetos A y B son del mismo tipo, y se crea otro objeto de ese tipo, C, y el objeto C también tendrá una variable de instancia "bla", que puede tenerloS propio valor único.
Las variables de instancia a menudo se confunden con las variables estáticas, pero las dos son significativamente diferentes. A diferencia de las variables de instancia, de las cuales cada objeto de un tipo particular tiene su propia variables estáticas, solo tiene un valor, y este valor es el mismo para cada objeto del tipo apropiado. Las variables estáticas a menudo se llaman variables de clase, que no son las mismas que las variables de instancia.
Dependiendo de las propiedades de visibilidad asignadas a ellos, las variables de instancia pueden ser visibles solo dentro de un objeto en particular, a un objeto y sus subclases, o al objeto en el que reside, así como cualquier otro objeto. Ese tipo final de visibilidad, llamado visibilidad pública, a menudo se considera la mala práctica, por ejemplo, las variables, porque es fácil violar los principios de encapsulación en la programación orientada a objetos. A pesar de este tabú, hay momentos en que el público instaLas variables NCE son útiles. Por ejemplo, muchas clases estándar en Java tienen variables de instancia pública, lo que a veces permite una fácil modificación de propiedades.
La visibilidad de una variable de instancia también entra en juego con la herencia. Si una clase hereda de otra, esto no le da a ambas clases acceso a las variables de instancia de cada uno. Las variables de instancia privada en la superclase y la subclase siguen restringidas solo a esas clases, por lo que la superclase no puede ver una variable privada en la subclase, y viceversa. Las únicas variables de instancia que tanto la superclase como la subclase pueden ver son las variables protegidas en la superclase.