¿Qué es una variable de instancia?

Gracias por el A2A.

Variables de instancia

  • Si el valor de la variable varía de un objeto a otro, este tipo de variables se denominan variables de instancia
  • Para cada objeto se creará una copia separada de la variable de instancia.
  • La variable de instancia se creará en el momento de la creación del objeto y las variables de instancia se destruirán en el momento de la destrucción del objeto. Por lo tanto, el alcance de la variable de instancia es exactamente el mismo que el alcance del objeto.
  • Las variables de instancia se almacenarán en el área de almacenamiento dinámico como parte del objeto.
  • Las variables de instancia deben declararse dentro de la clase directamente pero fuera de cualquier método o bloque o constructor.
  • No podemos acceder a las variables de instancia directamente desde el área estática, pero podemos acceder utilizando la referencia de objeto.
  • Podemos acceder a las variables de instancia directamente desde el área de instancia

P.ej:

prueba de clase{
int x = 10;
public static void main (String args []) {
System.out.println (x); // CE: no se puede hacer referencia a la variable no estática x desde un contexto estático
Prueba t = nueva Prueba ();
System.out.println (tx); // 10
}
vacío público m1 () {
System.out.println (x); // 10
}
}

  • Por ejemplo, las variables JVM siempre proporcionarán valores predeterminados y no estamos obligados a realizar la inicialización explícitamente.

P.ej:

prueba de clase{
int i;
booleano b;
doble d;
Cadena s;
public static void main (String args []) {
System.out.println (i); // CE: no se puede hacer referencia a la variable no estática x desde un contexto estático
Prueba t = nueva Prueba ();
System.out.println (ti); // 0
System.out.println (td); //0.0
System.out.println (tb); //falso
System.out.println (ts); //nulo
}
}

  • Variables de instancia también conocidas como variables de nivel de objeto

Gracias

Manera de aprender fácilmente

Las variables de instancia son variables que están vinculadas a instancias de clase (objetos). Por ejemplo, supongamos que tiene una clase Player que define una variable de instancia, score . Ahora tome dos instancias de la clase de jugador, player1 y player2 . player1 tiene su propia variable de puntaje, al igual que player2 . Puede establecer la puntuación del player1 en 99 y establecerla en 50: son completamente independientes.

En un modelo orientado a objetos basado en clases,
Cada entidad en el sistema es un objeto basado en una clase que define cuál es el comportamiento de ese objeto en términos de sus métodos / funciones y para poder hacer eso necesita recordar cosas que es su estado.

El estado se mantiene en términos de algunas variables que son modificadas por estos métodos / funciones.

Cuando se trata de realizar una implementación real de este objeto en la memoria, lo que se conoce como instanciación, cada objeto mantiene su propio estado en estas variables, que se conocen como variables de instancia.

variables que pertenecen a cada instante.

Un ejemplo:

OOP era un estilo de programación que quería llevar un estilo de desarrollo basado en componentes a Ingeniería de Software que ya estaba allí en las ramas tradicionales de Ingeniería.
Piense en cada Objeto como una máquina individual, o una parte de una máquina que funciona individualmente.

Digamos que estamos haciendo un auto

Tenemos un auto de una marca en particular con un modelo en particular.

Ahora este modelo se identifica de manera única entre los diferentes modelos debido a ciertas características que tiene y cierto tipo de rendimiento.

Todas estas características estándar que tienen que estar en el automóvil obligatoriamente junto con la funcionalidad básica del automóvil hacen el modelo básico.

Piensa en esto como una clase.

Cuando pasamos a fabricar un automóvil que se puede vender en el mercado.
Pueden tener ciertas cosas que diferirán entre los diferentes automóviles, como el color, el comprador, la sala de exposición, el número de registro del automóvil y, con el tiempo, cómo diferentes personas conducen el automóvil y lo cuidan, su condición será diferente a la de los demás.

Piense en estos autos como instancias únicas del modelo básico que diseñó el ingeniero de automóviles (probablemente usando un software que fue escrito nuevamente en un lenguaje basado en OOP)

Piense en estos factores diferenciadores configurables entre cada automóvil, como color, comprador, etc., como variables de instancia.

Estas variables de instancia se pueden modificar con métodos.
Al igual que si el propietario de un automóvil conduce su automóvil precipitadamente, tendrá abolladuras en su superficie, si no lo lavamos regularmente, el color se desvanecerá.

Piense en esto como un cambio de estado del objeto del automóvil. 🙂

Las variables de instancia se definen dentro de una clase pero fuera de cualquier método, por lo que para cualquier instancia de una clase tienen un alcance global. Es decir, se puede hacer referencia a ellos mediante cualquier método en la instancia de clase.

En general, es una buena idea mantener los objetos de valor tan limitados como sea posible. Use variables locales cuando funcionan. Use variables de instancia cuando la variable necesita ser conocida entre varios métodos diferentes en una clase. Utilice variables de clase (estáticas) cuando no sea necesario crear una nueva variable de instancia cada vez que se cree una nueva instancia; es decir, cuando todas las instancias de una clase simplemente pueden compartir una variable.

Una variable de instancia es una construcción de programación orientada a objetos.

En la programación orientada a objetos, tiene una instancia de un objeto. Puede tener varias instancias del mismo objeto. Una variable de instancia es una variable que es específica de esa instancia del objeto.
Frente a las variables de instancia están las variables de clase. Esta variable es la misma para todas las instancias de la clase.

Es una variable que vive dentro de un objeto en su vida.

Por ejemplo, “humano” tiene un “color de ojos” en el nivel de “clase”, pero Jackson también tiene un “color de ojos” que en realidad es “azul”, es decir, variable de instancia. Este atributo pertenece solo al ojo de Jakson, y será destruido después de que él muera, quiero decir, después del CG.

Yo diría que cualquier variable no estática tiene un alcance a la clase. No llamaría a una variable local en un método, una ‘variable de instancia’.

More Interesting

¿Qué es un algoritmo para encontrar la mediana de la complejidad en o (n) tiempo?

¿La teoría de números todavía parece ser central o el área más importante de las matemáticas?

¿Existe un algoritmo para contar el número de subcadenas cuya suma es divisible por 3?

¿Cómo pruebo o refuto lo siguiente: f (n) = o (g (x)) implica f (n) = O (g (n))?

Cómo calcular la varianza esperada en el tiempo (t) dada una deriva y volatilidad conocidas

¿Qué es una variable volátil?

¿Puedo aplicar a la escuela de posgrado para estudiar informática teórica?

¿En qué circunstancias necesitaría un desarrollador web utilizar estructuras de datos como Listas vinculadas, BST y Gráficos?

¿Cómo podemos abordar para resolver el problema de 'Infinite House of Pancakes' de Google Code Jam 2015?

¿Cuáles son los motivos comunes entre la informática y la teoría de la música?

¿Qué campos crees que están más relacionadas con Matemáticas e Informática o Matemáticas y Física?

¿Existe un término en matemáticas como 'real-complete' para describir una función que mapea todos los elementos de un conjunto (número real por ejemplo) a otro conjunto, o 'posibilidad-completa' para describir un algoritmo que maneja todas las posibilidades de entrada? ?

¿Qué es el error numérico?

Si un problema np-hard se resuelve en tiempo polinómico, ¿es eso una prueba de que p = np o este problema se ha clasificado incorrectamente?

¿Qué se debe saber antes de estudiar matemáticas discretas?