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:
- class_name es el nombre de la clase cuyo constructor se está creando.
- 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.
- El cuerpo del constructor es el cuerpo del constructor y se ejecuta cuando se llama al constructor, es decir, cuando se crea un objeto.
- 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