Junior — Middle
How are immutable objects implemented and used in Dart?
sobes.tech AI
Answer from AI
In Dart, immutable objects are created using the keywords final or const.
finalmeans that the variable can be assigned only once, but the object it refers to can be mutable.constcreates a constant object that is compiled at compile-time and cannot be changed.
To create fully immutable classes, all fields are usually declared as final and no setters are provided. This guarantees that the object will not change after creation.
Example:
class Point {
final int x;
final int y;
const Point(this.x, this.y);
}
void main() {
const p = Point(1, 2);
// p.x = 3; // Error: cannot modify final field
}
This approach is useful for increasing code safety, simplifying debugging, and working with streams, as immutable objects do not require synchronization.