Campo de instancia

Definición: ¿Qué significa Campo de instancia?

Un campo de instancia, en C #, es una variable de cualquier tipo contenida dentro de una clase o estructura, y se usa para almacenar datos de objetos. Es un miembro de su tipo contenedor con una copia del campo para cada instancia del tipo contenedor.

Los campos de instancia representan los datos de una clase que permite que un objeto mantenga su estado. Estos campos generalmente se exponen como una propiedad mediante la cual la implementación interna del campo se puede cambiar según las mejoras en el diseño de la clase sin introducir cambios importantes. Esta ventaja niega el efecto de la ligera sobrecarga al acceder a los campos a través de las propiedades.

El objetivo principal del diseño de campos de instancia es encapsular los datos a los que deben acceder todos los métodos de la clase y permitir que los datos se almacenen durante la vida útil de la instancia de la clase. Además, se puede evitar que los datos se dañen accidentalmente ocultándolos con el nivel de accesibilidad requerido.

El campo de instancia también se denomina variable de instancia.

Techinfo explica el campo de instancia

Un campo de instancia se declara dentro del bloque de clase junto con los detalles de su nombre, nivel de acceso y tipo de datos. Su nivel de acceso se puede especificar utilizando cualquiera de los modificadores de acceso, que son privados, protegidos, públicos, internos y protegidos internos. En general, los campos se utilizan con accesibilidad privada o protegida para evitar su acceso directo al código del cliente.

Durante la instanciación de una clase, cada instancia de la clase ocupa un espacio de memoria separado y sus campos tienen valores separados e independientes. A diferencia del campo estático, que pertenece a una clase y se comparte entre todas las instancias de la clase, solo se puede acceder al campo de instancia desde una instancia de una clase.

Por ejemplo, considere una clase que tiene fecha como campo de instancia. Cuando se crean dos instancias de esta clase como X e Y, el valor de fecha para el objeto X se puede cambiar sin afectar el valor del objeto Y.

Los campos de instancia se pueden inicializar utilizando el operador de asignación con un valor inicial cuando se declara. Los campos de instancia también se pueden usar con un modificador de solo lectura para que su valor se pueda asignar solo una vez, ya sea en la declaración o en el constructor de su clase.

Esta definición se escribió en el contexto de C #