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