Instancia variable
En la programación orientada a objetos y basada en clases, una variable de instancia es una variable definida en una clase (es decir, una variable miembro), para la cual cada objeto instanciado de la clase tiene una copia separada, o instancia. Una variable de instancia tiene similitudes con una variable de clase, pero no es estática. Una variable de instancia es una variable que se declara en una clase pero fuera de los constructores, métodos o bloques. Las variables de instancia se crean cuando se crea una instancia de un objeto y son accesibles para todos los constructores, métodos o bloques de la clase. Se pueden dar modificadores de acceso a la variable de instancia.
Una variable de instancia no es una variable de clase, aunque existen similitudes. Es un tipo de atributo de clase (o propiedad de clase, campo o miembro de datos). La misma dicotomía entre miembros de instancia y clase se aplica a los métodos ("funciones de miembro") también; una clase puede tener métodos de instancia y métodos de clase.
Cada variable de instancia vive en la memoria durante el tiempo de vida del objeto al que pertenece.
Las variables son propiedades que un objeto conoce sobre sí mismo. Todas las instancias de un objeto tienen sus propias copias de variables de instancia, incluso si el valor es el mismo de un objeto a otro. Una instancia de objeto puede cambiar los valores de sus variables de instancia sin afectar a todas las demás instancias. Las variables de instancia pueden ser utilizadas por todos los métodos de una clase a menos que el método se declare como estático.
Ejemplo
struct Solicitud {} estática int Conteo1; // nombre variable no es importante int Número; Solicitud() {} Número = Conteo1; // modifica la variable de instancia "este-numerario" ++Conteo1; // modifica la variable de clase "Solicitud:count1" }};int Solicitud::Conteo1 = 0;
En este ejemplo de C++, la variable de instancia Request::number
es una copia de la variable de clase Request::count1
donde a cada instancia construida se le asigna un valor secuencial de count1
antes de que se incremente. Dado que number
es una variable de instancia, cada objeto Request
contiene su propio valor distinto; por el contrario, solo hay un objeto Request::count1
disponible para todas las instancias con el mismo valor.
Contenido relacionado
Pared de larry
El ordenador contradictorio
HCI