Diferencia clave: variables de clase frente a instancia
La mayoría de los lenguajes de programación modernos son compatibles con la programación orientada a objetos. Un objeto contiene datos o atributos. Un objeto tiene ciertos comportamientos. Se les conoce como métodos. Un programa puede ser modelado usando objetos. Un software es una colección de programas. Por tanto, se puede diseñar e implementar un software utilizando objetos. Los objetos se interactúan utilizando métodos. La programación orientada a objetos mejora la modularidad y la reutilización del código. Debería haber una clase para crear objetos. Una clase es un plan para crear un objeto. Por tanto, un objeto es una instancia de una clase. En programación, los datos debían almacenarse. Los datos se almacenan en ubicaciones de memoria. Estas ubicaciones de memoria se denominan variables. Una variable miembro es una variable 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.
CONTENIDO
1. Descripción general y diferencia clave
2. Qué son las variables de clase
3. Qué son las variables de instancia
4. Similitudes entre las variables de clase e instancia
5. Comparación lado a lado - Variables de clase frente a instancia en forma tabular
6. Resumen
¿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 static y están asociadas con la clase, no con el objeto.
Figura 01: Variables de clase y variables de instancia
Consulte el siguiente fragmento de código con variables de clase.
Empleado de clase pública {
id int estática pública;
doble salario público estático;
}
Prueba de clase pública {
public static void main (string args) {
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 imprimiendo e2.id también dará el valor 1. Es posible imprimir los valores de identificación y salario usando el nombre de la clase de Empleado como Employee.id, Employee.salary, 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 programa a continuación.
Empleado de clase pública {
public int id;
doble salario público;
}
Prueba de clase pública {
public static void main (string args) {
Empleado e1 = nuevo Empleado ();
e1.id = 1;
e1.salary = 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 de punto como e1.id, e1. salario, etc. La identificación y el salario de la clase Empleado se conocen como variables de instancia. E1 y e2 son objetos separados. Cada objeto tendrá una copia separada de las variables de instancia. El e1 tendrá una identificación y un salario separados y e2 tendrá una identificación y un salario separados. Entonces, 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 variables de clase e instancia?
Diferencia del medio del artículo antes de la mesa
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 toda la instancia 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 con 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 estática. | Las variables de instancia no requieren una palabra clave especial como estática. |
Resumen: variables de clase frente a instancia
La programación orientada a objetos es un paradigma de programación importante. Ayuda a modelar un software usando objetos. Los objetos se crean usando clases. La creación de objetos también se conoce como instanciación. Una clase proporciona un plano para crear un objeto. Una variable miembro es una variable 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 PDF de las variables de clase frente a instancia
Puede descargar la versión PDF de este artículo y usarla para fines sin conexión según la nota de cita. Descargue la versión PDF aquí: Diferencia entre variables de clase e instancia