Estático

Definición - ¿Qué significa Estático?

Estático, en C #, es una palabra clave que se puede usar para declarar un miembro de un tipo de modo que sea específico para ese tipo. El modificador estático se puede utilizar con una clase, campo, método, propiedad, operador, evento o constructor.

Se puede usar un miembro estático de una clase para realizar un seguimiento de las instancias creadas y mantener datos comunes para compartir entre todas las instancias. Se puede usar en clases de ayuda y utilidad, que generalmente contienen métodos genéricos que contienen abstracciones de lógica pura. Se usa un constructor estático para realizar entradas en archivos de registro, así como en la clase contenedora para cargar las bibliotecas de vínculos dinámicos (DLL) necesarias para ejecutar código no administrado.

En general, un modificador estático se puede usar con datos y funciones que no requieren el acceso a una instancia de una clase. Se utiliza principalmente cuando los datos y el comportamiento de una clase no dependen de la identidad del objeto. El uso de clases y miembros estáticos mejora la eficiencia del código.

Techinfo explica la estática

Solo se puede hacer referencia a un miembro estático a través del nombre del tipo y no a través de una instancia del tipo. Static no se puede usar con un destructor, indexador o cualquier otro tipo que no sea class.

A diferencia de un campo de instancia, que tiene una copia separada para cada instancia de una clase, un campo estático (o variable) es compartido por todas las instancias de una clase. Un método estático puede sobrecargarse pero no anularse. No puede acceder a miembros no estáticos. Debido a que no se llama a un método estático con una referencia a una instancia, es más rápido invocar un método estático en la pila de llamadas que un método de instancia.

Una clase estática solo puede incluir miembros estáticos. No se puede crear una instancia en tiempo de ejecución y no se puede heredar. Tiene su vida útil como la de la aplicación en la que reside. Un constructor estático no tiene parámetros ni modificadores de acceso. Se invoca automáticamente antes de la creación de la primera instancia o la referencia a cualquier miembro estático.

Por ejemplo, una clase estática, TemperatureConverter, se puede utilizar para convertir la temperatura de Celsius a Fahrenheit y viceversa proporcionando dos métodos que contienen el código para la conversión.

El uso de un modificador estático tiene sus propias limitaciones que incluyen la falta de seguridad de subprocesos, encapsulación y mantenibilidad.

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