Dardo: captadores y setters

Getters y Setters, también llamados accesores y mutadores, permiten que el programa inicialice y recupere los valores de los campos de clase, respectivamente. 

  • Los captadores o descriptores de acceso se definen mediante la palabra clave get.
  • Setters o mutators se definen usando la palabra clave set.

Un getter / setter predeterminado está asociado con cada clase. Sin embargo, los predeterminados se pueden anular definiendo explícitamente un setter/getter. Un getter no tiene parámetros y devuelve un valor, y el setter tiene un parámetro y no devuelve un valor.

Syntax: Defining a getter
 
Return_type  get identifier  
{  
    // statements
}  
Syntax: Defining a setter
 
set identifier  
{  
   // statements
}

Ejemplo 1:

El siguiente ejemplo muestra cómo puede usar getters y setters en una clase Dart:

Dart

// Dart Program in Dart to illustrate
// getters and setters #GFG
class Student { 
   String name; 
   int age; 
      
   String get stud_name { 
      return name; 
   } 
      
   void set stud_name(String name) { 
      this.name = name; 
   } 
     
   void set stud_age(int age) { 
      if(age<= 0) { 
        print("Age should be greater than 5"); 
      }  else { 
         this.age = age; 
      } 
   } 
     
   int get stud_age { 
      return age;     
   } 
}  
void main() { 
   Student s1 = new Student(); 
   s1.stud_name = 'Nitin'; 
   s1.stud_age = 0; 
   print(s1.stud_name); 
   print(s1.stud_age); 
}

Producción:

Age should be greater than 5  
Nitin
Null 

Ejemplo 2:

Dart

// Dart program in Dart to illustrate
// getters and setters #GFG
void main() {
  var cat = new Cat();
    
  // Is cat hungry? true
  print("Is cat hungry? ${cat.isHungry}");
    
  // Is cat cuddly? false
  print("Is cat cuddly? ${cat.isCuddly}");  
    
  print("Feed cat.");
  cat.isHungry = false;   
    
  // Is cat hungry? false
  print("Is cat hungry? ${cat.isHungry}");
    
   // Is cat cuddly? true
  print("Is cat cuddly? ${cat.isCuddly}"); 
}
  
class Cat {
  bool _isHungry = true;
    
  bool get isCuddly => !_isHungry;
    
  bool get isHungry => _isHungry;
  bool set isHungry(bool hungry) => this._isHungry = hungry;
}

Producción:

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 *