Constructores con nombre para una intención clara
Ofrecer varias formas de construir objetos.
Constructores con nombre para una intención clara es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.
Por qué usar constructores con nombre
A menudo, una clase necesita varias formas de crearse. Un named constructor proporciona a cada alternativa una etiqueta clara para que quien llame al código sepa exactamente qué obtiene.
La sintaxis de los nombres
Escriba el nombre de la clase, un punto y, después, su etiqueta. La forma ClassName.label se lee como una pequeña frase en el punto de llamada.
class Point {
int x, y;
Point.origin() : x = 0, y = 0;
}Llamar a un constructor con nombre
Invoque el constructor igual que el que no tiene nombre, pero incluya la etiqueta. Esto hace evidente la intent del objeto en el código.
var p = Point.origin();
print(p.x); // 0Varios constructores con nombre
Añada tantos como necesite, describiendo cada uno un caso de uso. Aquí, uno crea un carrito vacío y otro uno preset.
class Cart {
int items;
Cart.empty() : items = 0;
Cart.preset() : items = 3;
}Constructores con nombre y parámetros
También pueden aceptar argumentos, de modo que puede combinar una etiqueta clara con valores personalizados para obtener un punto de entrada flexible y legible de estilo factory-style.
class User {
String name;
User.guest(this.name);
}Combinar constructores con nombre y sin nombre
Una clase puede conservar su constructor normal sin nombre y añadir otros con nombre junto a él, cubriendo tanto los casos habituales como los special.
class Color {
int value;
Color(this.value);
Color.black() : value = 0;
}Modelar distintos orígenes
Los constructores con nombre resultan especialmente útiles cuando los mismos datos llegan de distintos lugares, como un mapa JSON o valores sin procesar, cada uno con su propia label.
class User {
String name;
User.fromName(this.name);
}Legibilidad en el punto de llamada
Compare Temperature.celsius(20) con un número sin contexto. La etiqueta elimina las dudas, por lo que los constructores con nombre mejoran la clarity para quienes leen el código.
var t = Temperature.celsius(20);Siguen creando el mismo tipo
Independientemente del constructor que llame, obtendrá una instancia de la misma clase. La etiqueta solo cambia cómo se initialized, no su tipo.
var a = Point.origin();
print(a is Point); // trueCombinar con las abreviaturas this.
Los constructores con nombre aceptan la misma abreviatura this.field, lo que mantiene concisa la inicialización incluso con una etiqueta descriptiva.
class Box {
int w, h;
Box.square(this.w) : h = w;
}Elegir etiquetas descriptivas
Elija etiquetas que describan el resultado, como fromMap o withDefaults. Una buena label convierte el punto de llamada en documentación.
class Config {
Config.withDefaults();
Config.fromMap(Map m);
}Comprobación rápida
Comprobación rápida sobre la sintaxis de los constructores con nombre.
Resumen: intención clara
Ha aprendido a añadir named constructors con la sintaxis de punto, combinarlos con el constructor sin nombre y pasar parámetros para crear objetos de forma legible y con una intención evidente. 👍
Preguntas frecuentes
¿La lección «Constructores con nombre para una intención clara» es gratis?
Sí — el texto completo de «Constructores con nombre para una intención clara» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Constructores con nombre para una intención clara»?
Ofrecer varias formas de construir objetos. Practicas Dart Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Dart Academy?
No se requiere experiencia previa. Dart Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Constructores con nombre para una intención clara»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Dart Academy?
Sí. Cada lección de Dart Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Constructores predeterminados y parametrizados
- Constructores con nombre para una intención clara
- Listas de inicialización y redirección
- Constructores factory y const