La palabra clave static en Dart permite declarar miembros de clase que pertenecen a la clase en sí misma, y no a instancias individuales. Los miembros static son útiles cuando necesitamos compartir variables o métodos entre todas las instancias de una clase, ahorrando memoria y facilitando el acceso sin crear una instancia.
static en Dart?
Un miembro static puede ser un campo o un método que es accesible directamente a través de la clase, sin necesidad de crear un objeto. Esto significa que los miembros static se crean solo una vez en memoria, lo que mejora la eficiencia cuando se necesitan datos o funciones comunes.
static en Dart
En el siguiente ejemplo, se utiliza un miembro static para contar el número de instancias creadas de una clase:
class Contador {
static int numeroDeInstancias = 0;
Contador() {
numeroDeInstancias++;
}
}
void main() {
Contador c1 = Contador();
Contador c2 = Contador();
print(Contador.numeroDeInstancias); // Salida: 2
}
En este caso, numeroDeInstancias es un campo static que lleva la cuenta de cuántas veces se ha creado un objeto de la clase Contador. Es accesible directamente a través de la clase Contador, sin necesidad de instancias.
static
Al igual que los campos, también es posible declarar métodos static en Dart. Los métodos static solo pueden acceder a otros miembros static de la clase y no a los miembros no estáticos.
class Calculadora {
static int sumar(int a, int b) => a + b;
}
void main() {
int resultado = Calculadora.sumar(5, 3);
print(resultado); // Salida: 8
}
El método sumar es static, por lo que se puede llamar directamente con Calculadora.sumar(5, 3) sin crear una instancia de Calculadora.
static en Dart
static solo pueden acceder a otros miembros static dentro de la clase.
static en una subclase.
static pueden ser útiles para definir constantes, variables compartidas o utilidades generales en una clase.
Para más información sobre static en Dart, visita la documentación oficial de Dart.
Jorge García
Fullstack developer