Constructores en Dart

Dart también proporciona el apoyo de los constructores. Los constructores son un método especial que se utiliza para inicializar un objeto cuando se crea en el programa. En la programación orientada a objetos, cuando se crea un objeto, automáticamente llama al constructor. Todas las clases tienen su constructor predeterminado que crea el compilador cuando se llama a la clase; además, también se puede definir un constructor propio. Pero debe tener en cuenta que si lo hace, el constructor predeterminado no se creará y se ignorará.
 

Constructores en Dart: Los constructores tienen el mismo nombre que el nombre de la clase y no tienen ningún tipo de retorno. 

class_name( [ parameters ] ){
    // Constructor Body
}

En la sintaxis anterior: 

  1. class_name es el nombre de la clase cuyo constructor se está creando.
  2. Los parámetros son características opcionales y pueden y no pueden definirse para el constructor. El constructor predeterminado no tiene ningún parámetro definido en él.
  3. El cuerpo del constructor es el cuerpo del constructor y se ejecuta cuando se llama al constructor, es decir, cuando se crea un objeto.
  4. Los constructores no tienen ningún tipo de devolución.

Ejemplo 1: Creando un constructor en Dart 
 

Dart

// Dart Program to create a constructor
  
// Creating Class named Gfg
class Gfg{
    
  // Creating Constructor
  Gfg() {
      
    // Whenever constructor is called
    // this statement will run
    print('Constructor is being created');
  }
    
  // Creating Field inside the class
  String geek1;
    
  // Creating Function inside class
  void geek(){
    print("Welcome to $geek1");
  }
}
  
void main() {
    
  // Creating Instance of class
  Gfg geek = new Gfg();
    
  // Calling field name geek1
  // and assigning value to it
  // using object of the class Gfg
  geek.geek1 = 'GeeksforGeeks';
    
  // Calling function name
  // geek using object
  // of the class Gfg
  geek.geek();
}

 

Producción: 

Constructor is being created
Welcome to GeeksforGeeks

Hay tres tipos de constructores en Dart: 

1. Constructor predeterminado: los constructores predeterminados son aquellos constructores que no tienen ningún parámetro. Por lo tanto, si es un constructor que no tiene ningún parámetro, será un tipo de constructor predeterminado.

Ejemplo: crear un constructor predeterminado en Dart 
 

Dart

// Dart program to illustrate
// the Default constructor
  
// Creating Class named Gfg
class Gfg{
    
  // Creating Constructor
  Gfg() {
    print('This is the default constructor');
  }
}
  
void main() {
    
  // Creating Instance of class 
  Gfg geek = new Gfg();  
}

 

Producción: 

This is the default constructor

2. Constructor parametrizado: en Dart, también puede crear un constructor que tenga algunos parámetros. Estos parámetros decidirán qué constructor se llamará y cuál no. Aquellos constructores que aceptan parámetros se conocen como constructores parametrizados
 

Ejemplo: 
 

Dart

// Creating parameterized constructor in Dart
  
// Creating Class named Gfg
class Gfg{
    
  // Creating Parameterized Constructor
  Gfg(int a) {
      
    print('This is the parameterized constructor');
  }
}
  
void main() {
    
  // Creating Instance of class 
  Gfg geek = new Gfg(1);  
}

 

Producción: 

This is the parameterized constructor

Nota: No puedes tener dos constructores con el mismo nombre aunque tengan diferentes parámetros. El compilador mostrará un error.
 

3. Constructor con nombre: como no se pueden definir varios constructores con el mismo nombre, este tipo de constructor es la solución al problema. Permiten al usuario crear múltiples constructores con un nombre diferente.

class_name.constructor_name ( parameters ){
   // Body of Constructor
}

Ejemplo: 
 

Dart

// Creating named constructor in Dart 
  
// Creating Class named Gfg
class Gfg{
    
  // Creating named and
  // parameterized Constructor
  // with one parameter
  Gfg.constructor1(int a) {
    print('This is the parameterized constructor with only one parameter');
  }
  // Creating named and
  // parameterized Constructor
  // with two parameter
  Gfg.constructor2(int a, int b) {
    print('This is the parameterized constructor with two parameters');
    print('Value of a + b is ${a + b}');
  }
}
  
void main() {
  // Creating Instance of class
  Gfg geek1 = new Gfg.constructor1(1); 
  Gfg geek2 = new Gfg.constructor2(2, 3); 
}

 

Producción: 

This is the parameterized constructor with only one parameter
This is the parameterized constructor with two parameters
Value of a + b is 5

Publicación traducida automáticamente

Artículo escrito por aditya_taparia 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 *