¿Ya dominas lo básico? Un curso estructurado de Dart & Flutter es la vía rápida para dar el salto.
Ver cursos de Dart & Flutter en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (print)
- 03Variables y tipos (var y anotaciones)
- 04Seguridad frente a null (? y !)
- 05Condicionales (la sentencia if)
- 06Repetir (el bucle for)
- 07Escribir tu propia función
- 08Repetir (el bucle while)
- 09Trabajar con listas (List)
- 10Trabajar con diccionarios (Map)
- 11Clases (orientación a objetos)
- 12Constructores
- 13Herencia
- 14Argumentos con nombre
- 15Trabajo asíncrono (Future, async, await)
- 16Trabajar con texto
- 17La sentencia switch
- 18El operador ternario
- 19Métodos de extensión
- 20[Proyecto] Construye un mini sistema de inventario
Constructores
En esta lección crearás varias formas distintas de construir un mismo objeto.
Además del constructor principal, Dart permite constructores con nombre: Animal.baby(this.name) : age = 0;. La parte que va detrás de los dos puntos es la lista de inicialización, y se ejecuta antes del cuerpo del constructor.
El código de ejemplo crea un animal indicando nombre y edad, y una cría a la que solo hay que darle el nombre porque su edad siempre empieza en 0.
La razón de que existan es que Dart no admite sobrecarga de constructores: no puedes tener dos Animal(...) con parámetros distintos, como harías en Java o C++. En vez de eso, se le pone nombre a cada variante. El resultado se lee incluso mejor, porque Animal.baby('Michi') dice qué está pasando mucho más claro que adivinarlo por el número de argumentos.
Es un patrón que verás constantemente en las bibliotecas de Dart y Flutter: DateTime.now(), List.filled() o Color.fromARGB() son todos constructores con nombre.
🧪 Este sitio no puede compilar ni ejecutar Dart directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
