Dardo: palabra clave estática

La palabra clave estática se utiliza para la gestión de memoria de miembros de datos globales. La palabra clave estática se puede aplicar a los campos y métodos de una clase. Las variables y métodos estáticos son parte de la clase en lugar de una instancia específica. 

  • La palabra clave estática se usa para una variable de nivel de clase y un método que es el mismo para cada instancia de una clase, esto significa que si un miembro de datos es estático, se puede acceder a él sin crear un objeto.
  • La palabra clave estática permite que los miembros de datos persistan valores entre diferentes instancias de una clase.
  • No es necesario crear un objeto de clase para acceder a una variable estática o llamar a un método estático: simplemente coloque el nombre de la clase antes de la variable estática o el nombre del método para usarlos.

Variables estáticas de dardo

Las variables estáticas pertenecen a la clase en lugar de a una instancia específica. Una variable estática es común a todas las instancias de una clase: esto significa que solo se comparte una única copia de la variable estática entre todas las instancias de una clase. La asignación de memoria para variables estáticas ocurre solo una vez en el área de clase en el momento de la carga de la clase.

Declaración de variables estáticas

Las variables estáticas se pueden declarar usando la palabra clave estática seguida del tipo de datos y luego el nombre de la variable

Syntax: static [date_type] [variable_name];

Acceso a variable estática

 Se puede acceder a la variable estática directamente desde el nombre de la clase en lugar de crear una instancia de la misma.

Syntax: Classname.staticVariable;

Métodos estáticos de dardos

El método estático pertenece a la clase ta en lugar de a las instancias de clase. Un método estático solo puede acceder a las variables estáticas de la clase y solo puede invocar métodos estáticos de la clase. Por lo general, los métodos de utilidad se crean como métodos estáticos cuando queremos que sean utilizados por otras clases sin necesidad de crear una instancia.

Declaración de métodos estáticos

Un método estático se puede declarar usando la palabra clave estática seguida del tipo de retorno, seguido del nombre del método

Syntax:

static return_type method_name()
{
    // Statement(s)
}

Método estático de llamada

Los métodos estáticos se pueden invocar directamente desde el nombre de la clase en lugar de crear una instancia del mismo.

Syntax: ClassName.staticMethod();

Ejemplo 1:

Dart

// Dart Program to show
// Static methods in Dart
class Employee {
  static var emp_dept;
  var emp_name;
  int emp_salary;
  
  // Function to show details
  // of the Employee
  showDetails() {
    print("Name of the Employee is: ${emp_name}");
    print("Salary of the Employee is: ${emp_salary}");
    print("Dept. of the Employee is: ${emp_dept}");
  }
}
  
// Main function
void main() {
  Employee e1 = new Employee();
  Employee e2 = new Employee();
  Employee.emp_dept = "MIS";
  
  print("GeeksforGeeks Dart static Keyword Example");
  e1.emp_name = 'Rahul';
  e1.emp_salary = 50000;
  e1.showDetails();
  
  e2.emp_name = 'Tina';
  e2.emp_salary = 55000;
  e2.showDetails();
}

Producción:

GeeksforGeeks Dart static Keyword Example
Name of the Employee is: Rahul
Salary of the Employee is: 50000
Dept. of the Employee is: MIS
Name of the Employee is: Tina
Salary of the Employee is: 55000
Dept. of the Employee is: MIS

Ejemplo 2:

Dart

// Dart program in dart to
// illustrate static method
class StaticMem { 
   static int num;  
   static disp() { 
      print("#GFG the value of num is ${StaticMem.num}")  ; 
   } 
}  
void main() { 
   StaticMem.num = 75;  
    
   // initialize the static variable } 
   StaticMem.disp();   
    
   // invoke the static method 
}

Producción:

#GFG the value of num is 75

Publicación traducida automáticamente

Artículo escrito por nitin_sharma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *