Diferencia clave: clase frente a variables de instancia
La mayoría de los lenguajes de programación modernos admiten la programación orientada a objetos. Un objeto contiene datos o atributos. Un objeto tiene ciertos comportamientos. Se conocen como métodos. Un programa puede ser modelo usando objetos. Un software es una colección de programas. Por lo tanto, un software puede diseñarse e implementarse utilizando objetos. Los objetos interactúan usando métodos. La programación orientada a objetos mejora la modularidad y la reutilización del código. Debe haber una clase para crear objetos. Una clase es un modelo para crear un objeto. Por lo tanto, un objeto es una instancia de una clase. En programación, los datos necesitaban ser almacenados. Los datos se almacenan en ubicaciones de memoria. Estas ubicaciones de memoria se denominan variables. Una variable miembro es una variable que está asociada con un objeto específico. Es accesible para todos sus métodos. Hay dos tipos de variables miembro que son variables de clase y variables de instancia. La diferencia clave entre las variables de clase y de instancia es que, si solo hay una copia de la variable compartida con todas las instancias de la clase, esas variables se denominan variables de clase y si cada instancia de la clase tiene su propia copia de la variable, entonces esas variables se denominan variables de instancia.
¿Qué son las variables de clase?
Cuando solo hay una copia de la variable compartida con todas las instancias de la clase, esas variables se denominan variables de clase. Las variables de clase son variables declaradas dentro de la clase fuera de cualquier método. Estas variables contienen la palabra clave estática. Estas variables están asociadas con la clase, no con el objeto.
Figura 01: Variables de clase y variables de instancia
Consulte la siguiente pieza de código con variables de clase.
clase pública Empleado {
identificador público estático;
doble salario público estático;
}
Prueba de clase pública {
public static void main(cadena argumentos){
Empleado e1=nuevo Empleado();
Empleado e2=nuevo Empleado();
}
}
Según el programa anterior, e1 y e2 son objetos de tipo Empleado. Ambos tendrán la misma copia de memoria. Si e1.id=1 e imprimir e2.id también dará el valor 1. Es posible imprimir los valores de id y salario utilizando el nombre de la clase Empleado, como Empleado.id, empleado.salario etc.
¿Qué son las variables de instancia?
Cuando cada instancia de la clase tiene su propia copia de la variable, esas variables se conocen como variables de instancia. Consulte el siguiente programa.
clase pública Empleado {
identificación pública interna;
doble salario público;
}
Prueba de clase pública{
public static void main(cadena argumentos){
Empleado e1=nuevo Empleado();
e1.id=1;
e1.salario=20000;
Empleado e2=nuevo Empleado();
e2.id=2;
e2. salario=25000;
}
}
En el programa principal, e1 y e2 son referencias a los objetos de tipo Empleado. Es posible asignar valores para id y salario usando el operador punto como e1.id, e1. salario, etc. La identificación y el salario en la clase Empleado se conocen como variables de instancia. El e1 y e2 son objetos separados. Cada objeto tendrá una copia separada de las variables de instancia. El e1 tendrá identificación y salario separados y e2 tendrá identificación y salario separados. Por lo tanto, las variables de instancia se crean cuando se crea el objeto o la instancia.
¿Cuáles son las similitudes entre las variables de clase y de instancia?
- Ambos son tipos de variables.
- Ambas variables están dentro de una clase pero fuera de cualquier método.
¿Cuál es la diferencia entre las variables de clase y de instancia?
Variables de clase frente a variables de instancia |
|
Las variables de clase son variables en las que solo hay una copia de la variable compartida con todas las instancias de la clase. | Las variables de instancia son variables cuando cada instancia de la clase tiene su propia copia de la variable. |
Asociación | |
Las variables de clase están asociadas a la clase. | Las variables de instancia están asociadas con objetos. |
Número de copias | |
Las variables de clase crean una copia para todos los objetos. | Las variables de instancia crean una copia separada para cada objeto. |
Palabras clave | |
Las variables de clase deben tener la palabra clave static. | Las variables de instancia no requieren una palabra clave especial como static. |
Resumen: Clase frente a variables de instancia
La programación orientada a objetos es un importante paradigma de programación. Ayuda a modelar un software utilizando objetos. Los objetos se crean usando clases. La creación de objetos también se conoce como creación de instancias. Una clase proporciona un modelo para crear un objeto. Una variable miembro es una variable que está asociada con un objeto específico. Es accesible para todos sus métodos. Hay dos tipos de variables miembro como variables de clase y variables de instancia. La diferencia entre las variables de clase y de instancia es que, si solo hay una copia de la variable compartida con todas las instancias de la clase, esas variables se denominan variables de clase y si cada instancia de la clase tiene su propia copia de la variable, entonces esas las variables se denominan variables de instancia.
Descargue la versión en PDF de Variables de clase frente a instancias
Puede descargar la versión en PDF de este artículo y usarla sin conexión según la nota de la cita. Descargue la versión en PDF aquí: Diferencia entre variables de clase e instancia