Junior — Middle
How do named and constant constructors differ in their purpose and usage?
sobes.tech AI
Answer from AI
In Flutter:
-
Named constructors are additional class constructors with their own names, allowing objects to be created with different initialization methods. They are convenient for improving code readability and organization.
-
Constant constructors (const constructors) are constructors that create immutable objects at compile time if all class fields are also immutable. Such objects can be used to optimize performance and reduce memory usage.
Example:
class Point {
final double x, y;
// Constant constructor
const Point(this.x, this.y);
// Named constructor
Point.origin() : x = 0, y = 0;
}
void main() {
const p1 = Point(1, 2); // constant object
final p2 = Point.origin(); // object created via named constructor
}
Named constructors provide flexibility in creating objects, while constant constructors allow creating immutable objects that can be optimized by the compiler.